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 トークンをデコードすることが、これらの情報を取得する正しい方法だとは思いません。より良い提案はありますか?
クレームを使用して情報を取得している人も見たことがありますが、私が見つけたサンプルはすべて使用されているため、UWP での使用方法が正確にはわかりません。
ClaimsPrincipal claimsPrincipal = System.Threading.Thread.CurrentPrincipal as ClaimsPrincipal;
ただしSystem.Threading.Thread
、UWP では利用できません。