将用户名和密码传递给WSO2 ESB中的REST API

GSAN

我正在wso2 ESB中使用REST API来调用具有基本身份验证的另一项服务。

这是我的API代码:

<resource methods="POST" uri-template="/deleteZoneFromEnrolment/">
  <inSequence>
     <property xmlns:ns="http://org.apache.synapse/xsd" name="Authorization" expression="fn:concat('Basic ', base64Encode('user:password'))" scope="transport"></property>
     <property name="DISABLE_CHUNKING" value="true" scope="axis2"></property>
     <payloadFactory media-type="xml">
        <format>
           <enr:DeleteZoneFromEnrolment xmlns:enr="http://someURL/Enrolment.xsd">
              <Enrolment>$1</Enrolment>
              <Zone>$2</Zone>
           </enr:DeleteZoneFromEnrolment>
        </format>
        <args>
           <arg evaluator="json" expression="$.enrolment"></arg>
           <arg evaluator="json" expression="$.zone"></arg>
        </args>
     </payloadFactory>
     <send>
        <endpoint key="dev_enrolmentEndpoint"></endpoint>
     </send>
     <log level="full"></log>
  </inSequence>
  <outSequence>
     <property name="messageType" value="application/json" scope="axis2" type="STRING"></property>
     <send></send>
  </outSequence>
  <faultSequence>
     <sequence key="esb_error_handling_response"></sequence>
  </faultSequence>

我使用json POST来调用此REST API,如下所示:

{
 'enrolment':'whatever',
 'zone':'1'
}

如果我对用户名和密码进行了硬编码,它将很好地工作。但是我向前迈了一步。我需要传递带有用于在ESB中调用REST API的发布JSON的基本授权,或设置此API以通过GET / POST调用传递身份验证。

有人知道怎么做吗?这是我正在尝试但没有成功的方法:

在调用API(POST http:// esbUrl:8280 / api / deleteZoneFromEnrolment之前,在我的应用程序中,我在Base64中编码了字符串“ user:password”,结果是类似“ cHJhYmF0aDpwcmFiYXRo”的内容。我这样更改我的API代码:

<resource methods="POST" uri-template="/deleteZoneFromEnrolment/">
  <inSequence>
     <property xmlns:ns="http://org.apache.synapse/xsd" name="Authorization" expression="fn:concat('Basic ', json-eval($.user))" scope="transport"></property>
     <property name="DISABLE_CHUNKING" value="true" scope="axis2"></property>
     <payloadFactory media-type="xml">
        <format>
           <enr:DeleteZoneFromEnrolment xmlns:enr="http://someURL/Enrolment.xsd">
              <Enrolment>$1</Enrolment>
              <Zone>$2</Zone>
           </enr:DeleteZoneFromEnrolment>
        </format>
        <args>
           <arg evaluator="json" expression="$.enrolment"></arg>
           <arg evaluator="json" expression="$.zone"></arg>
           <arg evaluator="json" expression="$.user"></arg>
        </args>
     </payloadFactory>
     <send>
        <endpoint key="dev_enrolmentEndpoint"></endpoint>
     </send>
     <log level="full"></log>
  </inSequence>
  <outSequence>
     <property name="messageType" value="application/json" scope="axis2" type="STRING"></property>
     <send></send>
  </outSequence>
  <faultSequence>
     <sequence key="esb_error_handling_response"></sequence>
  </faultSequence>

和POST json:

{
 'enrolment':'whatever',
 'zone':'1',
 'user':'cHJhYmF0aDpwcmFiYXRo'
}
GSAN

我终于解决了。这比我想的要容易,只需Basic Auth header在我的应用程序内部(当我调用我的ESB API时)添加用户名和密码,凭据就可以通过我的API传递给外部服务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WSO2 ESB:未解析WSO2 REST API调用中的XML响应

来自分类Dev

如何在WSO2 ESB中实现虚拟REST API

来自分类Dev

在Web应用程序会话中存储REST API的用户名和密码

来自分类Dev

查询Restful API传递用户名和密码

来自分类Dev

WSO2 ESB中的Autodeploy API错误

来自分类Dev

使用用户名和密码调用Rest API-如何

来自分类Dev

如何在Node.js中调用需要用户名和密码的API

来自分类Dev

在UNC路径中传递UNC用户名和密码

来自分类Dev

WSO2 ESB中REST请求的计划任务

来自分类Dev

WSO2 ESB Rest API查询参数-如何使用更多参数?

来自分类Dev

WSO2 ESB-REST API-没有响应

来自分类Dev

REST API 的用户名和电子邮件检查

来自分类Dev

如何从数据库中获取用户名和密码并传递给Spring MVC中的Method

来自分类Dev

WSO2 API Manager 在后端获取用户名

来自分类Dev

在ESB中添加API Manager功能后,无法访问WSO2 API Manager Publisher

来自分类Dev

在ESB中添加API Manager功能后,无法访问WSO2 API Manager Publisher

来自分类Dev

REST获取如何在每个请求中传递用户名和密码

来自分类Dev

将用户名和密码传递给Web服务

来自分类Dev

将用户名和密码存储在数据库中是否安全?

来自分类Dev

需要实现将用户名和密码检查到我的Gui中的JDBC

来自分类Dev

是否将用户名和密码存储到字典中?

来自分类Dev

如何在一个jvm中运行wso2 esb和api管理器

来自分类Dev

REST API忘记了用户名

来自分类Dev

无法以API读取wso2 ESB中的JSON请求主体参数

来自分类Dev

在WSO2 ESB API资源中映射可选查询参数

来自分类Dev

WSO2 ESB中具有Fire and Forget API资源的日志错误

来自分类Dev

通过SCIM REST API在WSO2中创建用户时发生异常

来自分类Dev

从令牌传递用户名以将用户名保存在模型中

来自分类Dev

wso2 rest api克隆和聚合

Related 相关文章

  1. 1

    WSO2 ESB:未解析WSO2 REST API调用中的XML响应

  2. 2

    如何在WSO2 ESB中实现虚拟REST API

  3. 3

    在Web应用程序会话中存储REST API的用户名和密码

  4. 4

    查询Restful API传递用户名和密码

  5. 5

    WSO2 ESB中的Autodeploy API错误

  6. 6

    使用用户名和密码调用Rest API-如何

  7. 7

    如何在Node.js中调用需要用户名和密码的API

  8. 8

    在UNC路径中传递UNC用户名和密码

  9. 9

    WSO2 ESB中REST请求的计划任务

  10. 10

    WSO2 ESB Rest API查询参数-如何使用更多参数?

  11. 11

    WSO2 ESB-REST API-没有响应

  12. 12

    REST API 的用户名和电子邮件检查

  13. 13

    如何从数据库中获取用户名和密码并传递给Spring MVC中的Method

  14. 14

    WSO2 API Manager 在后端获取用户名

  15. 15

    在ESB中添加API Manager功能后,无法访问WSO2 API Manager Publisher

  16. 16

    在ESB中添加API Manager功能后,无法访问WSO2 API Manager Publisher

  17. 17

    REST获取如何在每个请求中传递用户名和密码

  18. 18

    将用户名和密码传递给Web服务

  19. 19

    将用户名和密码存储在数据库中是否安全?

  20. 20

    需要实现将用户名和密码检查到我的Gui中的JDBC

  21. 21

    是否将用户名和密码存储到字典中?

  22. 22

    如何在一个jvm中运行wso2 esb和api管理器

  23. 23

    REST API忘记了用户名

  24. 24

    无法以API读取wso2 ESB中的JSON请求主体参数

  25. 25

    在WSO2 ESB API资源中映射可选查询参数

  26. 26

    WSO2 ESB中具有Fire and Forget API资源的日志错误

  27. 27

    通过SCIM REST API在WSO2中创建用户时发生异常

  28. 28

    从令牌传递用户名以将用户名保存在模型中

  29. 29

    wso2 rest api克隆和聚合

热门标签

归档