IdentityServer4将声明添加到/ connect / token

时间:2017-03-06 17:52:57

标签: c# identityserver4

我在这里找到了几个类似于我需要的答案,但所有这些问题都是因为它们是针对过时的IdentityServer4版本。现在我正在使用IS4版本1.2,我正在尝试向/ connect / token添加声明。我正在使用Postman连接到此位置,该位置当前返回常规访问令牌。我需要此令牌中的自定义声明。在这方面,官方文件相当稀少。任何深入介绍这些文档的示例或指针都将非常感激!

2 个答案:

答案 0 :(得分:1)

您可以设置应在访问令牌中返回的声明类型,方法是将其添加到UserClaimsApiResource上的ApiScope集合中。

要设置硬编码声明(类型和值),请在Claims上的Client集合上执行此操作。

答案 1 :(得分:1)

正如Scott所说,您需要在ApiResource和/或ApiScope中定义您希望在令牌中可用的声明。

如果您正在处理自定义声明(即只知道如何从您的身份结构中检索信息),那么您还需要提供IProfileService的实现,并确保将其添加到ConfigureServices方法中的管道。

services.AddTransient<IProfileService, CustomProfileService>();

然后,您可以使用context中所请求的声明来实现您喜欢的任何逻辑,以填充context.RequestClaimTypes