例如,客户端发送带有附加字段location: USA
的访问令牌的请求。我在哪里可以存储该字段,然后从客户端传回我的服务器?我的意思是,该字段必须出现在所有请求中,但某些值可能不同。
示例请求:
POST / connect / token
formData: {
client_id: 'some_id',
client_secret: 'some_secret',
grant_type: 'client_credentials',
scope: 'some_scope',
location: 'USA'
}
响应:
{
"access_token": "",
"expires_in": 43200,
"token_type": "Bearer"
}
解码令牌的有效载荷
{
"nbf": 1517821102,
"exp": 1517864302,
"iss": "",
"aud": [],
"client_id": "some_id",
"scope": [ "some_scope" ],
"location": 'USA'
}
我在ASP.NET Core上使用IdentityServer 4
答案 0 :(得分:1)
您应该能够实现自定义IProfileService
并设置IssuedClaims
的{{1}}属性。这应该使您能够在访问令牌中发送自定义声明。 See the documentation了解更多信息。