2017-10-23 6 views
-1

私は現在Azure AD B2CでXamarin/MSALを使用しています。Xamarin MSAL Azure広告B2CログインはWeb表示ではなくブラウザを表示

問題なく動作します。

ただし、ログインメソッドを呼び出すと、URLを表示するアドレスバーを持つWebビューではなくブラウザが表示されます。ドキュメントによると、Webビュー(クライアントとサーバーの両方のフロー)が表示されるはずです。

このコードを使用してログインイムを起動するには、次の

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

代わりに、ブラウザのWeb表示を強制する方法はありますか?

+0

この動作はどのプラットフォームで表示されますか? (PC、Android、iOS) – Saca

+0

AndroidとiOSでこれを表示しています。私はいくつかのreasearchをやったことがあります。明らかに新しいバージョンのMSALがWebビューの代わりにChromeを呼び出すように変更されました。これがurl barが表示される理由です。それを悲しみに取り除く方法はありません。 – Bola

答えて

1

あなたが発見したように、ログインリクエストを強制的に組み込みユーザーエージェントに強制することはできませんが、これには十分な理由があります。

」...現在のベストプラクティスが組み込まれたユーザエージェントではなく、外部のユーザーエージェント(通常はブラウザ)でのOAuth認証要求を実行することである(:

観察された行動はIETF's Best Current Practice for OAuth 2.0 for Native Appsと一致していますWebビューで実装されたものなど)。

それはさらにこう述べています。

「通常のアドレスバーとブラウザが、それは不可能それらが署名されている場合、ユーザーが知るようになり持っている目に見える、証明書の検証機能せずに埋め込まれたユーザーエージェントで認証情報を入力するようユーザーを誘導正当なサイトへのアクセスを許可することなく、資格情報を入力しても問題ないことを訓練します」

Googleなどの認可サーバーは、「実行可能な代替案が存在するプラットフォーム上のすべてのOAuthクライアントに対して」埋め込みユーザーエージェントでOAuth認可リクエストをブロックします。

関連する問題