2017-10-23 10 views
-1

현재 Azure AD B2C에서 Xamarin/MSAL을 사용하고 있습니다.Xamarin MSAL Azure 광고 B2C 로그인은 웹보기 대신 브라우저를 표시합니다.

문제없이 작동합니다.

그러나 로그인 메소드를 호출하면 URL을 표시하는 주소 표시 줄이있는 웹보기 대신 브라우저가 표시됩니다. 문서에 따르면 웹보기 (클라이언트 및 서버 흐름 모두)가 표시되어야합니까?

AuthenticationResult ar = await App.PCA.AcquireTokenAsync(App.Scopes, GetUserByPolicy(App.PCA.Users, App.PolicySignUpSignIn), UIBehavior.ForceLogin, "ui_locales=sv", App.UiParent); 

웹보기 대신에 브라우저를 강제로 어떤 방법이 있나요 :

이 코드를 사용하여 로그인 메신저를 호출하려면?

+0

이 동작을 어떤 플랫폼에서 볼 수 있습니까? (PC, Android, iOS) – Saca

+0

Android에서 iOS를보고 있습니다. 나는 웹 뷰 대신 크롬을 호출하도록 MSAL의 일부 버전을 변경했다. url bar가 표시되는 이유이다. 그것을 슬프게 제거 할 방법이 없습니다. – Bola

답변

1

당신이 발견 한 것처럼 로그인 요청을 임베디드 사용자 에이전트로 강요 할 수는 없지만 여기에는 충분한 이유가 있습니다.

"... 가장 좋은 현재의 관행이 포함 된 사용자 에이전트가 아닌 외부 사용자 에이전트 (일반적으로 브라우저)에서의 OAuth 인증 요청을 수행하는 것입니다 (:

관찰 된 동작은 IETF's Best Current Practice for OAuth 2.0 for Native Apps과 일치 웹보기로 구현 된 것과 같은). "

이 더 말한다 :

"보통의 주소 표시 줄 브라우저가 불가능가 로그인하는 경우 사용자가 알 수 있도록합니다이 볼 인증서 유효성 검사 기능이없는 임베디드 사용자 에이전트의 자격 증명을 입력하는 사용자를 장려 심지어 합법적 인 사이트에 대해서도 사이트의 유효성을 확인하지 않고 자격 증명을 입력하는 것이 좋습니다. "

Google과 같은 인증 서버는 "가능한 대안이있는 플랫폼의 모든 OAuth 클라이언트에 대해"내장 된 사용자 에이전트에서 OAuth 승인 요청을 차단합니다.