MSAL.NET を使用する場合の Xamarin Android のシステム ブラウザーに関する考慮事項
この記事では、Microsoft Authentication Library for .NET (MSAL.NET) で Xamarin Android 上のシステム ブラウザーを使用する場合に考慮すべきことについて説明します。
Note
MSAL.NET バージョン 4.61.0 以降では、ユニバーサル Windows プラットフォーム (UWP)、Xamarin Android、Xamarin iOS はサポートされていません。 Xamarin アプリケーションを MAUI などの最新のフレームワークに移行することをお勧めします。 この非推奨化の詳細については、「Xamarin および UWP 用 MSAL.NET で予定されている廃止のお知らせ」をお読みください。
MSAL.NET 2.4.0 Preview 以降では、MSAL.NET は Chrome 以外のブラウザーをサポートしています。 認証のために、Android デバイスに Chrome をインストールする必要がなくなりました。
カスタム タブをサポートするブラウザーを使用することをお勧めします。 これらのブラウザーの例をいくつか次に示します。
カスタム タブをサポートするブラウザー | パッケージ名 |
---|---|
Chrome | com.android.chrome |
Microsoft Edge | com.microsoft.emmx |
Firefox | org.mozilla.firefox |
Ecosia | com.ecosia.android |
Kiwi | com.kiwibrowser.browser |
Brave | com.brave.browser |
Microsoft のテストでは、カスタム タブをサポートするブラウザーが特定されただけでなく、カスタム タブをサポートしていないいくつかのブラウザーも認証用に使用できることが示されました。 これらのブラウザーには、Opera、Opera Mini、InBrowser、Maxthon などがあります。
テストしたデバイスとブラウザー
次の表に、認証の互換性をテストしたブラウザーとデバイスの一覧を示します。
Device | Browser | 結果 |
---|---|---|
Huawei/One+ | Chrome* | 合格 |
Huawei/One+ | Edge* | 合格 |
Huawei/One+ | Firefox* | 合格 |
Huawei/One+ | Brave* | 合格 |
One+ | Ecosia* | 合格 |
One+ | Kiwi* | 合格 |
Huawei/One+ | Opera | 合格 |
Huawei | OperaMini | 合格 |
Huawei/One+ | InBrowser | 合格 |
One+ | Maxthon | 合格 |
Huawei/One+ | DuckDuckGo | ユーザーによって認証が取り消された |
Huawei/One+ | UC ブラウザー | ユーザーによって認証が取り消された |
One+ | Dolphin | ユーザーによって認証が取り消された |
One+ | CM ブラウザー | ユーザーによって認証が取り消された |
Huawei/One+ | 何もインストールされていない | AndroidActivityNotFound 例外 |
* カスタム タブをサポートする
既知の問題
ユーザーのデバイス上に有効になっているブラウザーがない場合、MSAL.NET は AndroidActivityNotFound
例外をスローします。
- 対応策:ユーザーに自分のデバイスのブラウザーを有効にするように依頼します。 カスタム タブをサポートするブラウザーを推奨します。
認証が失敗した場合 (たとえば、認証が DuckDuckGo で起動する場合)、MSAL.NET は AuthenticationCanceled MsalClientException
を返します。
- 根本原因:カスタム タブをサポートするブラウザーがデバイスで有効になっていません。 認証を完了できないブラウザーで認証が開始されました。
- 対応策:ユーザーに自分のデバイスのブラウザーを有効にするように依頼します。 カスタム タブをサポートするブラウザーを推奨します。
次のステップ
詳細情報とコード例については、埋め込み Web ブラウザーと Xamarin Android のシステム ブラウザーのどちらかを選択することに関する記事、および「埋め込み Web UI とシステム Web UI の比較」を参照してください。