2016-08-08 24 views
1

私はADOS 3.0サーバーで動作するiOS用ADALを持っています。 Webビューが表示され、ユーザーが認証され、アクセストークンでコールバックされます。ADAL 3.0に対してADALで認証されたユーザーを特定する方法はありますか?

私が抱える問題は、ユーザーの身元についての情報が返ってこないということです。 userInformationプロパティはnilです。どんなHTTPレスポンスにもid_tokenはありません。私は最初にリクエストする方法がわかりません。そして私は、Microsoftの人々は、ADFS 3.0はid_tokenをまったくサポートしていないと言っています。私はJWT形式のアクセストークンも解析しており、そこにはユーザーを識別するための情報がありません。

ADFS 3.0サーバー側では、依拠当事者にGUID、Given Name、Surname、およびEmail Addressを提供するというClaim Ruleを構成および有効化しています。しかし、そのルールを追加することで、私がADALを通して得た回答には違いはありませんでした。

ADFS 3.0サーバーに対してADALを使用して認証されたユーザー(GUID、名、姓および電子メールアドレスを取得)を特定するにはどうすればよいですか?この情報を要求できる提供されたアクセストークンでヒットできるエンドポイントがADFS 3.0サーバーにありますか?

答えて

1

ADFS 3.0がid_tokenをサポートしていない場合がありますが、依拠当事者のクレームルールが正しく設定されている場合、受信したアクセストークンの最上位に追加されます。それが正しい場合どうやらクレームルールは次のようになります。

Claim Rule

アクセストークンは、トークンので、それをデコードすることができJWTとそこから取得した値です。

{ 
    "appid": "5f9a5589-6064-423a-8a1a-6a0d7ddda19f", 
    "aud": "x-msauth-glazersapp://com.example.MyApp", 
    "auth_time": "2016-08-08T22:32:14.459Z", 
    "authmethod": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", 
    "email": "[email protected]", 
    "exp": 1470699134, 
    "family_name": "John", 
    "given_name": "Doe", 
    "iat": 1470695534, 
    "iss": "http://adfs.example.com/adfs/services/trust", 
    "objectGUID": "c8oMVOOEskutnPVno41Y1w==", 
    "ver": "1.0", 
} 

「電子メール」のアクセストークンに追加された、「FAMILY_NAME」、「GIVEN_NAMEさん」と「オブジェクトGUID」:デコードされたとき、それは次のようになります。そして、このように提供されたGUIDは実際にはBase64でエンコードされています。

詳細情報はこちらhttp://chrisrisner.com/Accessing-Resources-Secured-By-Azure-Active-Directory-with-iOS-and-Android

+1

クール詳細については、https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/overview/ad-fs-scenarios-for-developersを参照してください。ウォークスルーの場合はhttps://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/ad-fs-developmentを参照してください。 –

関連する問題