我最近迁移了我的应用程序,通过Chrome Custom Tab向Google进行身份验证,而不是使用非系统帐户进行内部WebView身份验证。除非用户正在同步/登录Google Chrome应用程序上的任何Google / Gmail帐户,否则一切正常。
当用户在手机上登录Google Chrome时,ServiceLogin网址会路由到Google Chrome的系统帐户管理界面:
Chrome帐户管理的屏幕截图:
有没有办法让Chrome继续路由到身份验证屏幕?我查看了Google的网络服务器OAuth2实施文档,但没有找到可以路由到浏览器体验的查询参数。
编辑:这似乎发生在Android 7.1.1上,但不是7.0.0。
编辑2:
流程是:
用户在我的应用
我使用给定的URI发送Chrome自定义标签页意图(或ACTION_VIEW
意图)。
URI 应该重定向到预先填好的Google登录页面,或者如果用户在浏览器中使用该帐户登录,那么它应该是权限批准页面。
相反,在安装了Chrome的Android 7.1.1上,Chrome会将我重定向到本机帐户管理屏幕(如下图所示)。只有在我使用此设备上的任何Gmail / Google Apps帐户登录Chrome时,才会出现这种情况。
我不希望我的用户重定向到此帐户管理活动/屏幕。这实质上迫使用户将其身份验证的帐户添加为系统帐户,这似乎不是Google提出的合理要求。我正在寻找一种方法来避免Chrome吞噬帐户网页链接并将用户重定向到此原生帐户管理屏幕。