2016-06-13 75 views
0
  1. 我有一个要求,谁愿意与基本身份验证访问与他的证件(UN/PWD)的API或摘要身份验证用户身份验证
  2. 亦通所需的凭据(UN/PWD)在请求验证访问后端服务

我的突触中提取的配置是这样的:WSO2 APIM认证

<filter source="$ctx:AM_KEY_TYPE" regex="PRODUCTION"> 
<then> 
<property name="api.ut.backendRequestTime" 
expression="get-property('SYSTEM_TIME')"/> 
<property name="password" 
expression="wso2:vault-lookup('PayAdmin-- ZenoAPI51.0')"/> 
<property name="unpw" 
expression="fn:concat('user',':',get-property('password'))"/> 
<property name="Authorization" 
expression="fn:concat('Basic ', base64Encode(get-property('unpw')))" 
scope="transport"/> 
<send> 
<endpoint name="PayAdmin--ZenoAPI5_APIproductionEndpoint_0"> 
<http uri-template="http://localhost:8080/payment/{uri.var.name}"/> 
</endpoint> 
</send> 
</then> 

什么,我想知道的是:

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "Authorization: Bearer 2e13c9b3c8717f43d093cfc7c63994bb" -d "{}" http://<IP address of APIM Server>:8280/Zeno1/1.0.0/payment/name 

此卷曲只能采取承载令牌而是如何在卷曲

+0

您的要求是使用CURL将用户名和密码发送到后端,是吗? – farasath

回答

0
curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "Authorization: **Basic** **[base64encode(username:password)]**" -d "{}" http://<IP address of APIM Server>:8280/Zeno1/1.0.0/payment/name 

[base64encode(用户名:密码)]通过用户/密码对API和用户/密码对后端与BASE64替换此“:用户名密码”

1

关于你提到的第二个问题:的 编码字符串 的基本身份验证向后端可以在步骤配置通用密码在发布实施 - >显示更多选项 - >端点安全方案:设置为担保,并提供证书 (参见:https://docs.wso2.com/display/AM1100/Basic+Auth

如果必须提供用户用户特定的凭证应该设置“身份验证:基本的base64(用户名:密码)”中HTTP标头,标头将传递给后端。

+0

嗨以上提到的基本认证。您能否介绍一下如何为Digest验证完成传递凭据以及如何配置它? – munna