2017-09-10 27 views
0

Windowsデスクトップ(UWPではなく)とiOSクライアントの両方を持つAzure App Serviceを構築しています。私はMicrosoftアカウント認証を使用してユーザーを認証したいと考えています。OneDrive SDKで認証するときにユーザー情報を取得する方法

前の質問の結果hereこれで、OneDrive SDKを使用してユーザーを認証できるようになりましたが、次のハードルに陥りました。ワンドライブSDKは、指定された名前や電子メールアドレスなどのユーザーの詳細へのアクセスを提供していません。

古いスクールのデスクトップアプリケーションからユーザーを認証するための例や指示に従って、誰かが自分のMicrosoftアカウント(Azure ADではない)を使用してAzure Appサービスにアクセスできるようにしてください電子メールアドレスへのアクセス権を持ち、償却された技術を使用していないクライアント。

答えて

0

簡単認証を経由して認証した後、我々は以下のコードのようなAPIを呼び出すことによってmeエンドポイント(https://{yourSiteName}/.auth/me)からユーザー情報を取得することができます

var result =await client.InvokeApiAsync("/.auth/me"); 

と電子メールを取得するために、我々はwl.emailsを必要としますOneDrive SDKで認証する際のスコープです。その後、meエンドポイントから指定された名前とメールアドレスを取得できます。

string email=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress')]")["val"] 

string givenName=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname')]")["val"] 
+0

ありがとうございました。この情報がどこに文書化されているのでしょうか? – PhilDotC

+0

簡単な認証について[ドキュメント](Azure Appサービスの認証と承認)を参照できます。また、cgillumは一連のヘルプブログを書いています([here](https://cgillum.tech/category/easy-auth/)参照)。 –

関連する問題