Как переключать пользователей на Microsoft MobileServiceClient с аутентификацией Google - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть приложение Xamarin для Android, в котором используется Azure MobileServiceClient (DataService.client). Он настроен на использование аутентификации Google. Я вхожу в систему следующим образом:

          var user = await DataService.client.LoginAsync(this,
                MobileServiceAuthenticationProvider.Google, "myapp");

Это прекрасно работает. Он открывает браузер на странице входа в Google и вы входите в систему. Как только вы сделаете это один раз на вашем устройстве Android, он больше не запрашивает у вас информацию для входа. У меня есть ситуация, когда я хочу войти в систему как другой пользователь, чтобы проверить некоторые внутренние разрешения приложения. Я создал функцию выхода из системы следующим образом:

        await DataService.client.LogoutAsync();

Это выводит вас из системы, но в следующий раз, когда вам нужно пройти аутентификацию, он не запрашивает учетные данные. Он регистрирует вас обратно как тот же человек. Есть ли способ очистить информацию для входа в систему, чтобы он снова запросил ваше имя пользователя?

1 Ответ

0 голосов
/ 30 апреля 2018

AFAIK, MobileServiceClient.LogoutAsync() просто очищает MobileServiceClient.CurrentUser для текущего экземпляра MobileServiceClient в вашем мобильном клиенте. Чтобы полностью выйти из системы, вам необходимо вручную отправить запрос на выход в свой мобильный бэкэнд, прежде чем выполнить MobileServiceClient.LogoutAsync().

Get https://{your-app-name}.azurewebsites.net/.auth/logout
Header X-ZUMO-AUTH:{MobileServiceClient.CurrentUser.MobileServiceAuthenticationToken}

Подробности, которые вы можете прочитать в книге Адриана Холла о Реализации метода LogoutAsync () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...