2017-10-24 33 views
0

私はXamarinアプリケーションでユーザー登録した後に電子メールとパスワードを取得したいのですが、この結果を使用してその電子メールとパスワードを取得してからSQLに保存することができますAzureのデータベース。Azure AD B2C

async void SignUp() { 
    DisplayAlert("Result", "Cek Result ", "Ok"); 
    try { 
     var result = await App.AuthenticationClient.AcquireTokenAsync(
      Constants.Scopes, 
      string.Empty, 
      UiOptions.SelectAccount, 
      string.Empty, 
      null, 
      Constants.Authority, 
      Constants.SignUpPolicy); 

    } catch (MsalException) { 
     // Do nothing - ErrorCode will be displayed in OnLoginButtonClicked 
    } 
} 

と私は、ユーザーのメールアドレスとパスワードを取得するためにAuthenticationResultを使用してみましたが、私だだけで、ユーザーの表示名を取得することができ、このAuthenticationResultは、ユーザーのメールアドレスとパスワードを入手できますか?あるいは、仕事をすることができる方法はありますか?

答えて

2

セキュリティ上の理由から、アプリケーションはパスワードを取得できません。 B2C Adminポータルでは、ポリシー内のアプリケーションに送信される「電子メール」を選択できます。署名に使用された電子メールアドレスは、トークンが発行されたときにこのクレームに記載されます。

AD Graph APIを使用してユーザーを作成し、パスワードを2か所に書き込むことができます。しかし、パスワードを他のストア(たとえばSQL DB)に保存している場合は、ユーザーがパスワードを変更したときにパスワードを同期させておく必要もあります。

さらに、DBのパスワードを適切に保護する方法の側面です。ディレクトリの価値提案の1つは、そのようなセキュリティ層を提供することです。

あなたが解決しようとしているシナリオで質問を更新した場合、解決できる回避策があるかもしれません。

+0

申し訳ありませんが、私はグラフのAPIを使用するか、Microsoft.Identity.Clientを使用することができますが、Microsoftのidentiy.Clientではメールのデータを取得する電子メールを要求しています。ユーザー名、権限、クライアントID、一意のID、IDプロバイダ、および表示可能なID。それは私がmicrosoft.identy.client古いバージョン(1.0.304142221-alpha)を使用しているか、それともちょうど傾けることができない電子メール –

関連する問題