如何使用身份服务器4请求刷新令牌



我有IdentityServer和一个单独的WebApi项目使用资源所有者流。

当我请求如下所示的令牌时,令牌将被颁发并可用于访问 WebApi。因此,我假设 IdentityServer 设置正确,WebApi 项目也设置正确。

username=user1
password=user1password
grant_type=password
client_id=myClientId
client_secret=myClientSecret
scope=api1

现在,当我将授权类型更改为刷新并将范围更改为offline_access时,我得到了一个刷新令牌。然后,我使用刷新令牌获取访问令牌,但是当我使用访问令牌请求 WebAPI 时,它被拒绝。

有错误

the audience is invalid

我怀疑这是因为我要求一个offline_access范围,而不是 WebApi 项目期望的 api1 范围。如何获取可与作用域 api1 一起使用的刷新令牌?

var model =       {
client_id: "myClientId",
client_secret: "myClientSecret",
scope: "api1 offline_access",
token_type: "Bearer", //Optional
grant_type: "refresh_token",
refresh_token: "your refresh token"
};

//this is most important step when to use refresh token 
var base64 = btoa(model.client_id + ":" + model.client_secret); 
//and your request here
this.$http({
method: "POST",
url: "/connect/token",
headers: {
'content-type': "application/x-www-form-urlencoded",
'Authorization': "Basic " + base64
},
data: jQuery.param(model)
})
.then(
response => {

//success

},
response => {
//logout
});

相关内容

  • 没有找到相关文章

最新更新