如何解决WSO2-AM 3.2.0 - OAuth 令牌 - 哈希类型
我正在向 WSO2-AM 发出请求,以获取 OAuth 令牌以代表用户访问 API 管理器中发布的 API。一切都在使用 access_token 中返回的大字符串,但我想使用可能已编码的短版本。
请求:
curl -X POST -H 'Content-Type:application/x-www-form-urlencoded' -u
<consumer-key>:<consumer-secret> -k -d
'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=<id_token>'
https://<apim>:8243/token
回复:
{"access_token":"eyJ4NXQiOiJNell4TW1Ga09HWXdNV0kwWldObU5EY3hOR1l3WW1NNFpUQTNNV0kyTkRBe
lpHUXpOR00wWkdSbE5qSmtPREZrWkRSaU9URmtNV0ZoTXpVMlpHVmxOZyIsImtpZCI6Ik16WXhNbUZrT0dZd01XSTBaV05
tTkRjeE5HWXd....bZ-CD_r-2qkypeER7f8QMrLpozRipgHeCkpIKXx5PzSM6zBq5VjMW4EXSRg7LSu0JAJfD2UD6H4bqAiZPNiGy9vTLXc
Zr4g8WNzfKkr...
-hiAOt4SauSZxB1WWCFEZ0xyHVhbx7nAFzBVzfssF0DOYGXkc9hRJZGbG8VfiXb6PWtSfEjqJTSSY_aZWXw","refresh_token":"d3062fa0-1132-3532-b1b2-83c3c66136ff","token_type":"Bearer","expires_in":3600}
预期:
{"access_token":"400f2a54-53d8-3146-88e3-be1bf5e7450d","refresh_token":"c2656286-449f-369f-9793 2cee9132de9f","scope":"default","expires_in":3600}
我做错了什么,没有返回短的?
解决方法
我假设您access_token
期望的是 Opaque(Reference) Access Token,在此 WSO2 API Manager 3.1.0 文档中描述:Secure APIs using OAuth2 Opaque(Reference) Access Tokens。
但是,根据 Release notes 的说法,从 WSO2 API Manager 3.2.0 中,他们删除了这种类型的访问令牌:
通过开发者门户生成不透明访问令牌的开箱即用支持已被删除。应用程序开发人员可以创建仅生成 JWT 类型访问令牌的应用程序。
所以,大字符串,你得到的只是这个 JWT 令牌,在文档中描述:JWT (Self Contained) Access Tokens,你可以在 jwt.io 站点上解码。
,您可以从 https://jwt.io/ 解码您的长 JWT,并将其 JTI 值作为短的 JWT 值,看起来类似于 400f2a54-53d8-3146-88e3-be1bf5e7450d。
参考下面的例子。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。