Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 如何使用max_auth_age=0的PAPE扩展名强制用户重新输入登录密码_Google App Engine_Openid - Fatal编程技术网

Google app engine 如何使用max_auth_age=0的PAPE扩展名强制用户重新输入登录密码

Google app engine 如何使用max_auth_age=0的PAPE扩展名强制用户重新输入登录密码,google-app-engine,openid,Google App Engine,Openid,我将OpenID与GAE(实验性联邦登录)一起使用。我不 当我点击“注销”然后点击“登录”时,系统会提示输入用户/密码 再来一次。有人能告诉我是什么问题吗 我使用以下代码创建我的登录url: UserService userService = UserServiceFactory.getUserService(); HashSet<String> attributeRequestSet = new HashSet<String>(); attributeRequestSe

我将OpenID与GAE(实验性联邦登录)一起使用。我不 当我点击“注销”然后点击“登录”时,系统会提示输入用户/密码 再来一次。有人能告诉我是什么问题吗

我使用以下代码创建我的登录url:

UserService userService = UserServiceFactory.getUserService();
HashSet<String> attributeRequestSet = new HashSet<String>();
attributeRequestSet.add("openid.ns.pape=http://specs.openid.net/
extensions/pape/1.0");
attributeRequestSet.add("openid.pape.max_auth_age=0");
String loginUrl = userService.createLoginURL(destinationUrl,
"gmail.com", "gmail.com", attributeRequestSet);

只要您登录到您的谷歌帐户,它就不会要求您输入用户名/密码

如果您退出应用程序,然后再次登录,您将被重定向到Google auth页面,但由于您仍然登录到Google,它会立即将您重定向回应用程序


您正在请求的OpenID功能
(OpenID.pape.max\u auth\u age=0)
尚不受支持:请参见

,因此您认为我应该如何获得我的行为:已注销我的应用程序的人应该通过传递用户/密码重新登录。目前,我有一个解决办法——在有人点击注销后,我会显示一个成功注销的页面,在这个页面上,我要求用户也注销Google帐户。他们不是向你的站点显示user/pass,而是向Google显示user/pass。这就是OpenID的要点。但由于他们没有退出谷歌,他们不需要再次输入user/pass。StackOverflow的行为与此相同。当你注销时,你只注销SO,而不是谷歌。当您重新登录io时,不会向您显示user/pass。
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
String logoutUrl = userService.createLogoutURL(destinationUrl,
user.getAuthDomain())