我有一个AppEngine(Java)应用程序,它使用本机AppEngine身份验证机制(请参阅:https://cloud.google.com/appengine/docs/standard/java/users/)。它会通过createLoginURL
和createLogoutURL
方法生成登录和注销网址。
在桌面上,一切都运行得很好。激活多个帐户的用户将被提示选择一个在登录时使用的帐户,并且在退出时她将退出所有帐户。
然而,在移动设备上,它不会以这种方式工作。具有多个帐户的用户将在登录时自动登录到第一个帐户(无论是什么),并且在退出时将提示她选择帐户。我不知道为什么帐户选择器作为退出流程的一部分显示,我不知道选择一个帐户实际上做了什么,因为最终结果看起来是相同的,无论选择的帐户:AppEngine认为用户已退出。
过去,帐户选择器曾经在登录时显示(它是一个单选按钮帐户选择器,不如注销那个漂亮,但仍然有功能)。现在,我无法出现一个。我已通过https://myaccount.google.com确认多个帐户已主动登录。
此工作流程的简单测试如下:
createLoginURL
和createLogoutURL
生成登录和退出网址。供参考,以下是createLoginURL
和createLogoutURL
方法生成的登录和注销网址的值(显然" EXAMPLE-APP"将是实际的AppEngine ID我的申请表):
createLoginUrl("/ui/signin.html")
:https://www.google.com/accounts/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttps://EXAMPLE-APP.appspot.com/ui/signin.html<mpl=gm
createLogoutUrl("/ui/signout.html")
:https://EXAMPLE-APP.appspot.com/_ah/logout?continue=https://www.google.com/accounts/Logout%3Fcontinue%3Dhttps://appengine.google.com/_ah/logout%253Fcontinue%253Dhttps://EXAMPLE-APP.appspot.com/ui/signout.html%26service%3Dah
此外,我目前正在使用运行Chrome的Android手机(一个Galaxy S6和一个像素;我目前没有其他设备可供测试)。
我的问题:如何让Google在移动设备上显示Google AppEngine(for Java)中登录操作的帐号选择器?
编辑:以下是演示此问题的示例AppEngine项目。