2017-04-12 7 views
1

AD Graph API를 사용하여 AD B2C 거주자에 새 사용자를 만들었습니다.Azure AD B2C 기본 응용 프로그램의 Signin -이 응용 프로그램에 로그인하려면 계정을 디렉터리에 추가해야합니다.

{ 
    "accountEnabled": true, 
    "creationType": "LocalAccount", 
    "displayName": "Alex Wu", 
    "passwordProfile": { 
    "password": "[email protected]", 
    "forceChangePasswordNextLogin": false 
}, 
    "signInNames": [ 
    { 
     "type": "userName", 
     "value": "Dawn" 
    }, 
    { 
     "type": "emailAddress", 
     "value": "[email protected]" 
    }, 
    { 
     "type": "mobile", 
     "value": "96587XXXXX" 
    } 
    ] 
}  

adal4j 라이브러리를 사용하는 Android 기본 앱 클라이언트에서이 자격증 명으로 로그인하려고합니다. 모바일 번호와 UserName으로 로그인 할 수 있으며 액세스 토큰을 얻을 수 있습니다. 하지만 이메일 주소로 로그인을 시도 할 때 "이 애플리케이션에 로그인하려면 계정을 디렉토리에 추가해야합니다."라는 오류 메시지가 나타납니다.

답변

1

AFAIK, Adal4j 라이브러리는 Azure AD B2C 플로우를 지원하지 않습니다. Java 개발시이 플로우를 사용하려면이 플로우를 직접 구현해야합니다. 원하는 프로토콜을 통해 Azure AD B2C와 상호 작용하려면이 document에서 언급 된 코드 샘플을 참조하십시오.

또한 정책을 사용하여 계정 로그인을 테스트하려면 아래 그림과 같은 포털에서 실행할 수 있습니다. 그리고이 테스트를 바탕으로 Azure AD B2C 로컬 계정의 이메일을 사용하여 로그인하는 것이 효과적입니다.

enter image description here

+0

답장을 보내 주셔서 감사합니다. 필자는 P2 OAuth를 구현하여 iOS의 B2C에 대한 인증을 받았습니다. https://github.com/p2/OAuth2 먼저 사용하기에 합당한 선택인지 여부를 알고 싶습니다. 그러나이 라이브러리를 사용하면 사용자 이름과 휴대 전화 번호를 사용하여 로그인 할 수 있습니다. 하지만 전자 메일 주소가 아닌 이유는 무엇입니까? 사용자 로그인 정책에서 지금 실행을 클릭하면 emailAddress 및 비밀번호로 로그인 할 수 있습니다. – Sarva

+0

Azure AD B2C는 로컬 계정과 소셜 계정 (Facebook 및 Google+ 등) 로그인을 모두 지원합니다. 소셜 계정을 사용하지 않으려면 Azure AD B2C 대신 Azure Active Directory를 선택할 수 있습니다. 그리고 사회적 계정을 지원하기 위해 우리는 스탠드 OAuth와는 다른 Azure AD B2C OAuth 플로우를 구현해야합니다. Azure AD B2C의 OAuth 2.0 인증 코드 흐름에 대한 자세한 내용은 [여기]를 참조하십시오 (https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oauth). -code # 1- 인증 코드). –