我通过以下来自WSO2站点的文档成功完成了这项工作 . 接下来他们希望我使用Identity Server的OAuth2来验证将使用API的用户,因此我所做的是使用APIM作为网关,使用密钥管理器作为Identity Server并使用WSO2文档https://docs.wso2.com/display/CLUSTER420/Configuring+WSO2+Identity+Server+as+the+Key+Manager . 我已经尝试使用使用者密钥和密钥获取用户访问令牌(使用用户凭据生成访问令牌) . 我获得了访问令牌,但在使用cURL和IS给出的访问令牌进行测试时
curl -i -H "Accept: application/json" "Authorization: Bearer
h6kdYQgHVVQ19yOaf4lnDgw3NQga" -X GET
http://hostip:8280/SampleDSS/1.0/users
我收到一个错误
curl: (6) Could not resolve host:
Authorization HTTP/1.1 401
Unauthorized WWW-Authenticate: OAuth2 realm="WSO2 API Manager"
Access-Control-Allow-Headers: authorization,Access-Control-Allow-Origin,Content-Type
Content-Type: application/xml; charset=UTF-8 Date: Wed, 06 Aug 2014 03:45:04 GMT
Server: WSO2-PassThrough-HTTP Transfer-Encoding: chunked
<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
<ams:code>900902</ams:code>
<ams:message>Missing Credentials</ams:message>
<ams:description>Required OAuth credentials not provided</ams:description>
</ams:fault>
请原谅我,如果这是一个基本问题,但我对此有点困惑 .
另一件事是APIM附带了一个Key Management Server组件,用于处理安全性和密钥相关操作 . 这可以配置为针对定义的用户存储或多个用户存储对用户进行身份验证,并且授权基于OAuth 2.0 . 现在是否真的需要使用Identity Server作为密钥管理器,或者我只需要另一个APIM实例并将其用作密钥管理器?我问这个是因为我认为如果使用APIM进行OAuth2身份验证,将Identity Server用于OAuth2太多了 .
非常感谢你的帮助 . 请理解我是新手,只需1个月的时间学习所有这些 . 我的一些条款可能不正确,如果有,请告诉我 .
再次非常感谢,德鲁
1 回答
尝试这个 .