2017-10-24 11 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 그래프 API를 사용하여 사용자를 만들고 두 곳에서 암호를 쓸 수 있습니다. 그러나 비밀번호를 다른 상점 (예 : SQL DB)에 저장하는 경우 사용자가 비밀번호를 변경할 때 비밀번호를 동기화하는 방법을 알아야합니다.

또한 DB의 암호를 적절히 보호하는 방법에 대해서도 설명합니다. 디렉토리의 가치 제안 중 하나는 그러한 보안 계층을 제공하는 것입니다.

해결하려는 시나리오로 질문을 업데이트하는 경우 알아낼 수있는 해결 방법이있을 수 있습니다.

+0

내 가입 정책에 동의합니다. 이미 그래프 API를 사용해야 전자 메일 데이터를받을 전자 메일을 요청하거나 Microsoft.Identity.Client를 사용할 수 있지만 Microsoft ident.Client에서는 사용자 이름, 권한, 클라이언트 만 가져올 수 있습니다 ID, 고유 ID, ID 공급자 및 표시 가능한 ID. 그것은 내가 microsoft.identy.client 구버전 (1.0.304142221-alpha)을 사용하고 있거나 아마 이메일을 가져올 수 없기 때문입니다. –