我正在尝试使用 ADFS 对用户进行身份验证,并且我正在使用 ADAL。身份验证似乎有效,因为我可以获得 AccessToken。问题是查看代码authResult
包含UserInfo
所有属性(例如GivenName
或FamilyName
)所在的位置null
。
AuthenticationContext authContext = null;
AuthenticationResult authResult;
try
{
authContext = new AuthenticationContext(authority, false);
authResult = await authContext.AcquireTokenAsync(resource, clientId, new Uri(returnUri),
new PlatformParameters(PromptBehavior.Auto, false));
}
由于 ADFS 配置,这些值是 null 吗?我注意到解码返回的 AccessToken 我可以读取用户信息。但我不认为解码 JWT Token 是获取这些信息的正确方法。你有更好的建议吗?
我也看到人们通过使用声明来获取信息,但我不知道如何在 UWP 上使用它,因为我发现的所有样本都使用过
ClaimsPrincipal claimsPrincipal = System.Threading.Thread.CurrentPrincipal as ClaimsPrincipal;
但System.Threading.Thread
在 UWP 上不可用。