MSAL ライブラリは、Xamarin.Android アプリのクロム ブラウザー内でログイン画面を起動します。正常にログインすると、アプリは期待どおりにメイン ページにリダイレクトされます。以下は、使用されているログイン コードのスニペットです。
Microsoft.Identity.Client.AuthenticationResult auth = null;
App.PrepareAuthClient(authType);
string policy = App.SignInPolicyB2C;
string authority = App.AuthoritySignInB2C;
(...)
auth = await App.AuthenticationClient.AcquireTokenAsync(
App.ApiScope,
GetUserByPolicy(App.AuthenticationClient.Users, policy),
App.UiParent);
ただし、ログアウト後に問題が発生します。ログアウトして再度ログインしようとすると、Chrome ブラウザがログイン ページを表示してユーザー名とパスワードを入力するのではなく、自動的にユーザーをログインさせ、ログイン ページをロードすることなくメイン ページにリダイレクトします。ブラウザが開き、数秒間ロードした後、ユーザーが明示的にログアウトした後でも、ユーザーをメイン ページにリダイレクトし、ログインに成功します。
prompt = force loginを追加しようとしましたが、役に立たなかったようです。ユーザーが再度ログイン ページを取得する唯一の方法は、Chrome ブラウザのキャッシュを手動でクリアした後です。
サインアウト時にキャッシュをクリアする方法はありますか? または、キャッシュ情報があってもブラウザに強制的にログインページを表示させる別の方法はありますか?