Как выйти из приложения для Android с помощью Azure Adb2c и app- auth

Я использовал следующий учебник для интеграции входа в Azure Adb2c в моем приложении для Android с помощью appauth Android appauth.

В учебнике нет места, где упоминается, как выйти из приложения.

В документации Azure об этом ничего не упоминается.

Есть идеи, как это можно сделать?

Любая помощь будет оценена. Спасибо.

2 ответа

Вы можете вызвать ваш MobileServiceClient.LogoutAsync();

Затем вы должны очистить куки в браузере для входа в систему. В зависимости от приложения, установленного на устройстве, это может быть веб-представление или пользовательская вкладка Chrome.

Если это WebView, вы можете очистить куки вашего OAuth2.0, позвонив:

CookieManager.Instance.RemoveAllCookies(null);
CookieManager.Instance.Flush();

Если для входа в Oauth2.0 используется пользовательская вкладка Chrome, вы можете вызвать URL-адрес выхода для своего oauth с помощью пользовательской вкладки браузера. (Пример ответа от: https://github.com/Azure/azure-mobile-apps-ios-client/issues/51)

var logoutUrl = "https://login.windows.net/common/oauth2/logout";
var uri = Android.Net.Uri.Parse(logoutUrl);

var builder = new CustomTabsIntent.Builder();
var customTabsIntent = builder.Build();
customTabsIntent.LaunchUrl(MainActivity, uri);

Но это не приведет к автоматическому закрытию браузера после выхода из системы... Мне еще предстоит выяснить, как это сделать?

Azure Mobile Android SDK предоставляет метод, который поможет нам выйти из системы, мы можем использовать MobileServiceClient.logout() для достижения этой цели.

Вот оригинальный код для вашей справки:

/**
 * Log the user out of the Mobile Service
 */
public ListenableFuture logout() {
    final SettableFuture logoutFuture = SettableFuture.create();

    new AsyncTask<Void, Void, Void>() {
        @Override
        protected Void doInBackground(Void... params) {
            mCurrentUser = null;
            logoutFuture.set(null);
            return null;
        }
    }.execute();
    return logoutFuture;
}

Снимок экрана SDK в Android Studio:

Эта тема в MSDN может быть полезна для вас:

Не могу выйти из системы MobileServiceUser из приложения

Другие вопросы по тегам