Как я могу обойти менеджер аккаунта Android Chrome для OAuth?
Недавно я перенес свое приложение для аутентификации в Google с помощью пользовательской вкладки Chrome вместо внутреннего WebView с использованием несистемной учетной записи. Все работает хорошо, если пользователь не синхронизируется / не входит в какую-либо учетную запись Google/Gmail в приложении Google Chrome.
Когда пользователь входит в Google Chrome на своем телефоне, URL-адрес ServiceLogin направляется к интерфейсу управления системным аккаунтом Google Chrome:
Снимок экрана управления учетной записью Chrome:
Есть ли способ, чтобы Chrome продолжал маршрутизировать на экран аутентификации? Я просмотрел документацию Google по реализации веб-сервера OAuth2 и не нашел параметр запроса, который бы направлял в браузер.
Изменить: это происходит на Android 7.1.1, но не 7.0.0.
Изменить 2:
Поток это:
Пользователь в моем приложении
Я отправляю Chrome Custom Tab намерение (или
ACTION_VIEW
намерение) с данным URI.Этот URI должен перенаправлять на предварительно заполненную страницу входа в систему Google, или, если пользователь вошел в систему с этой учетной записью в браузере, это должна быть страница подтверждения разрешения.
Вместо этого на Android 7.1.1 с установленным Chrome Chrome перенаправляет меня на собственный экран управления учетной записью (изображение ниже). Это происходит только в том случае, если я вошел в Chrome с помощью любой учетной записи Gmail / Служб Google на этом устройстве.
Я не хочу, чтобы мой пользователь был перенаправлен на эту страницу управления деятельностью / экраном. По сути, это вынуждает пользователя добавлять учетную запись, с помощью которой он проходит аутентификацию, в качестве системной учетной записи, и это, как представляется, не является разумным требованием для Google. Я ищу способ избежать сожжения ссылок на веб-страницы учетной записи в Chrome и перенаправления пользователей на этот собственный экран управления учетной записью.