IdentityServer4如何将ClientProperties获取到token中

问题描述 投票:0回答:2

我有一个带有 EFCore 实现的 IdentityServer4,一切运行良好。我需要进行更改以获取令牌中包含的一些客户端信息,这被证明是有问题的。我可以将信息包含在 ClientClaims 表中,并在令牌中返回,但我的理解是我应该将此类信息放入 ClientProperties 表中。当我这样做时,它不会在令牌中返回,并且我找不到有关如何将 ClientProperties 表中的数据获取到令牌中的任何信息。

您可能会问为什么我不只使用 ClientClaims 表,但我使用该表来存储客户端可以访问的系统区域,因此不希望将其用于交叉目的。

您能提供的任何帮助将不胜感激。

entity-framework-core identityserver4 openid-connect
2个回答
4
投票

属性

根据需要保存任何自定义客户特定值的字典。

客户端属性只是一个字典,您可以使用它来存储有关客户端的额外信息。

这是我使用它的一个例子。

Id  ClientId    Key         Value
265 25          updatedby   21248582
266 25          updateddate 2018-05-30T06:45:10.2389386+00:00

没有任何地方说明此信息应作为声明的一部分。

您可能会说

"But a i already stated i dont want to use ClientClaims"
,但这就是
ClientClaims
的用途。


0
投票

Client.Properties 用于保存与该客户端相关的数据。

事实上,交换信息的唯一方法是通过声明,这是最佳实践。您可以包含自定义声明名称,只需确保它们不与标准名称冲突即可。

© www.soinside.com 2019 - 2024. All rights reserved.