Xamarin 네이티브 모바일 앱을 빌드하고 소셜 로그인을 사용하여 사용자를 인증하기 위해 Azure AD B2C를 사용합니다.
B2C를 사용하여 인증하기 위해 MSAL 네이티브 라이브러리 (Xamarin)를 사용하기로 결정했습니다. 그리고 로그인 한 사용자 프로필을 관리 (전체 액세스)하려면 모바일 앱이 필요합니다. 이 기능은 MSAL에서 사용할 수 없기 때문에 당분간 ADAL을 사용하기로 결정했습니다. 아래 링크에 제공된 지침을 따르고 샘플이 작동합니다. 하지만 응용 프로그램 (b2c 테넌트에서 생성됨)에 제공된 API 액세스를 삭제하고 "Get-user"매개 변수를 사용하여 응용 프로그램을 실행하여 실험을 시작했습니다. 그리고 응용 프로그램은 여전히 AD에서 사용자를 가져올 수 있습니다. 이것이 얼마나 안전한지 확실하지 않습니까?
그런 다음 B2c 테넌트 애플리케이션에서 애플리케이션 키를 삭제하고 콘솔 애플리케이션 샘플을 실행했습니다. 그리고 오류를 받았습니다AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided. Trace ID: cef09957-06bf-462e-a0c3-4ed6bae11e00 Correlation ID: afab126d-8694-479a-8a21-c12eb7cb176c
왜 이런 일이 일어나는지에 대한 아이디어. xamarin.ios 앱에서 이것을 구현하고 싶습니다.
이에 대한 대답은 다음과 같이 요약 할 수있는 ADAL 라이브러리를 사용하여 사용자 관리를 위해 Azure AD B2C에 액세스하는 다른 질문에 대한 대답과 매우 유사합니다 .
Azure AD B2C는 아직 Azure AD 또는 Microsoft Graph에 대한 위임 된 권한을 지원하지 않습니다. 현재이 제한을 해결하는 올바른 방법은 네이티브 클라이언트 응용 프로그램이 웹 API (MSAL 사용)를 호출하도록하는 것입니다. 그러면 웹 API (MSAL 사용)가 차례로 그래프 API (ADAL 사용)를 호출합니다 . 이 웹 API는 사용자 관리 작업의 범위를 지정하는 권한 부여 논리가있는 사용자가 빌드하는 API입니다.
Azure AD B2C의 사용자 관리가 Microsoft Graph를 통해 지원되면이 API가 필요하지 않으며 위임 된 권한 (클라이언트 자격 증명을 사용하는 애플리케이션 권한과 비교)을 사용하여 네이티브 클라이언트 애플리케이션이 Microsoft Graph와 직접 통신하도록 할 수 있습니다. 그동안 위의 지침에 따라 자체 웹 API를 세워야합니다.
업데이트 : Azure AD v2.0 엔드 포인트 및 Microsoft Graph API는 이제 클라이언트 자격 증명 흐름을 지원하므로 Microsoft Graph API 호출에 MSAL을 사용할 수도 있습니다. 그러나 Azure AD Graph를 호출해야하는 경우에도 여전히 ADAL을 사용해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다