Oauth 2.0 WSO2 API管理器客户端凭据续订令牌

Oauth 2.0 WSO2 API管理器客户端凭据续订令牌,oauth-2.0,wso2,wso2-am,Oauth 2.0,Wso2,Wso2 Am,我正在尝试续订通过API管理器生成的令牌 generate令牌的curl语句是: curl -k -d "grant_type=client_credentials" -H "Authorization: Basic TDQ0SktDZm5DcVVDSVBjdGYwVDIyRWwwUGY4YT o2d19NQm9xYnBFXzRLNHR0Wkc0NXhxd0NMTDRh , Content-Type: application/x-www-form-urlencoded" https://10.1

我正在尝试续订通过API管理器生成的令牌

generate令牌的curl语句是:

curl -k -d "grant_type=client_credentials" -H "Authorization: Basic TDQ0SktDZm5DcVVDSVBjdGYwVDIyRWwwUGY4YT
o2d19NQm9xYnBFXzRLNHR0Wkc0NXhxd0NMTDRh , Content-Type: application/x-www-form-urlencoded" https://10.108.106.214:8250/token
答案是

"scope":"am_application_scope default","token_type":"bearer","expires_in":1094,"access_token":"6d1d0f8afbd147d24bcd42bbc5361a1"
根据文档,它应该生成一个未被重新命名的重述。我错过了什么

另外,当我将grant_类型作为refresh_令牌传递时。我得到一个无效的授权错误

curl -X POST -H "Authorization: Basic TDQ0SktDZm5DcVVDSVBjdGYwVDIyRWwwUGY4YTo2d19NQm9xYnBFXzRLNHR0Wkc0NXhxd0NMTDRh"  -H "Content-Type: application/x-www-form-urlencoded" -d 'grant_type=refresh_token&refresh_token=6d1d0f8afbd147d24bcd42bbc5361a1' 'https://10.108.106.214:8250/token'
我指的是URL中的文档

那么,我缺少什么呢?

根据规范,授权类型的客户端凭据不应发出刷新令牌

如果访问令牌请求有效且已授权,则授权 服务器发出访问令牌,如第5.1节所述刷新 不应包括代币。

你必须使用

请求:

curl -k -d "grant_type=password&username=admin&password=admin" -H "Authorization: Basic bkxidjNPTnYxQ25iTXBRY2E3V3hPajdaMUVZYTpuTUQzX0tKQkhGRmxFUUlXdllmSjdTUFlleThh, Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token
答复:

{"scope":"default","token_type":"bearer","expires_in":3247,"refresh_token":"91729a78a96b58d80d869f3ec2ce8b8","access_token":"ec54b39dd9503c9f65df84b67ea586"}

如果我没有弄错,请在您收到的响应中使用
refresh\u标记

"scope":"am_application_scope default","token_type":"bearer","expires_in":1094,"access_token":"6d1d0f8afbd147d24bcd42bbc5361a1"
这是新的访问令牌

access_token":"6d1d0f8afbd147d24bcd42bbc5361a1"

记下当前标记,然后再次运行curl命令。响应应该是不同的令牌。

谢谢,这就解释了。我们如何通过HttpClient或Resttemplates创建Java代码?你能帮忙吗?或者如何使用POstman或RestTemplates谢谢,Nehajava客户端有什么用途?