我有一个带有EFCore实现的IdentityServer4,它运行良好。我需要进行更改以获得令牌中包含的一些客户信息,这些信息证明是有问题的。我可以将信息包含在ClientClaims表中,并在令牌中返回,但我的理解是我应该将此类信息放在ClientProperties表中。当我这样做时,它不会在令牌中返回,我无法找到有关如何从ClientProperties表中获取数据到令牌的任何信息。
您可能会问为什么我不使用ClientClaims表,但是我使用该表来存储客户端可以访问的系统的哪些区域,因此不希望将它用于交叉目的。
您可以给予任何帮助。
答案 0 :(得分:2)
根据需要保存任何自定义客户端特定值的字典。
客户端属性只是一个文件,您可以使用它来存储有关客户端的额外信息。
这是我用它的一个例子。
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
的用途。
答案 1 :(得分:0)
Client.Properties用于持久保存与该客户端有关的数据。
实际上,交换信息的唯一方法是通过声明,这是最佳实践。您可以包括自定义声明名称,只需确保它们不与标准名称冲突即可。