我想通过授权代码流从令牌端点获取“access_token”和“id_token”。但是,在使用postman上的以下参数调用令牌端点时,我收到“invalid_grant”错误。
POST /connect/token HTTP/1.1
Host: localhost:2000
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: a8a29659-0ea3-e7dc-3bd6-6e6630a7370d
client_id=client
&client_secret=client
&grant_type=authorization_code
&username=admin
&password=admin
&scope=openid+profile
客户端配置:
new Client
{
ClientId = "client",
ClientSecrets =
{
new Secret("client".Sha256())
},
AllowedGrantTypes = new List<string> { OidcConstants.GrantTypes.AuthorizationCode },
AllowedScopes = {
StandardScopes.OpenId.Name,
StandardScopes.Profile.Name,
}
}
我的客户端配置部分有什么问题?并且,如何向Token Endpoint成功发布请求?
答案 0 :(得分:2)
授权代码授予类型要求在令牌请求期间发送code
参数(请参阅RFC6749 section 4.1.3)。
在资源所有者授权客户端之后,授权服务器会发出此代码(请参阅RFC6749 section 4.1.2)。