首页 > 解决方案 > 如何使用 ADAL 库向 ADFS 中的身份令牌添加更多声明?

问题描述

这可能是一个简单的问题,但我对 ADFS 还是很陌生,但我正在使用 ADFS 的 ADFS 库,我想知道我是否可以在短期身份令牌而不是 accessToken 中显示声明。

我有这个代码:

var authContext = new AuthenticationContext(authority, false);
var authResult = await authContext.AcquireTokenAsync(resourceURI, clientID, new Uri(clientReturnURI), new PlatformParameters(PromptBehavior.Auto));

authResult了我两个标记:accessTokenIdToken以及我在 ADFS 中设置的所有声明都显示在accessToken. 但我希望accessToken只包含一个标识符,如 GUID(保持小),并将有关用户的信息(姓名、电子邮件等)保存在 IdToken 中。

标签: c#.netwpfadfs

解决方案


如果您使用的是 ADFS 2016,那么您可以查看在使用 OpenID Connect 或 OAuth 与 AD FS 2016 时在 id_token 中发出的自定义声明,因为 ADFS 2016 能够为 OpenID 连接方案自定义 id_token。您可以使用相同的代码将这些附加声明视为 id_token 的一部分来访问声明。


推荐阅读