添加其他信息以访问IdentityServer 4的令牌

时间:2018-02-05 10:26:58

标签: c# asp.net-core identityserver4

例如,客户端发送带有附加字段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

1 个答案:

答案 0 :(得分:1)

您应该能够实现自定义IProfileService并设置IssuedClaims的{​​{1}}属性。这应该使您能够在访问令牌中发送自定义声明。 See the documentation了解更多信息。