0
我想用ADFS驗證用戶,並且使用ADAL。鑑於我可以獲得AccessToken,驗證似乎起作用。問題是,查看代碼authResult
包含UserInfo
,其中所有屬性(例如GivenName
或FamilyName
)均爲null
。從UFS中的ADFS獲取UserInfo與ADAL
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配置,這些值爲空?我注意到解碼AccessToken返回我可以讀取用戶信息。但我不認爲解碼智威湯遜令牌是實現這些信息的正確方法。你有更好的建議嗎?
我也看到有人使用要求獲得信息,但我完全不知道如何使用它UWP,因爲所有的樣品,我發現用
ClaimsPrincipal claimsPrincipal = System.Threading.Thread.CurrentPrincipal as ClaimsPrincipal;
但System.Threading.Thread
不適用於UWP 。
你能幫助明白我怎麼能得到id_token並提取索賠? – user2297037
'id_token'應該能夠通過'authResult'對象('authResult.IdToken')獲取作爲您共享的代碼。並且從標記中提取聲明,您可以使用'System.IdentityModel.Tokens.Jwt'。這裏是[類似的線程](https://stackoverflow.com/questions/38340078/how-to-decode-jwt-token)供您參考。 –
不幸的是,'authResult.IdToken'爲空... – user2297037