gpt4 book ai didi

java - 创建帐户按钮始终会转到登录 Gmail 帐户的浏览器。它怎么总是会请求谷歌的许可呢?

转载 作者:行者123 更新时间:2023-12-02 09:04:59 26 4
gpt4 key购买 nike

项目场景:

在项目登陆页面中,点击创建新帐户 --> 设置与之前配置的帐户相同的帐户。

观察:

重定向到登陆页面而不是提供任何验证消息

如果您使用第一个电子邮件地址 xyz@gmail.com 登录。因此它已登录。因此您的浏览器现在已与此 Gmail 帐户同步。

现在,您将为新电子邮件(例如 abc@gmail.com)创建新帐户。点击后,将再次转到“登陆页面”并显示xyz@gmail.com。因为您的浏览器已与首次登录的帐户 xyz@gmail.com 同步。

工作区域:

添加新帐户后需要注销才能删除浏览器同步。

代码快照如下:

private GoogleAuthorizationCodeFlow authFlow;
HttpServletResponse response;

GoogleAuthorizationCodeRequestUrl url = authFlow.newAuthorizationUrl();
String redirectURL = url.setRedirectUri(CALLBACK_URI).setAccessType("offline").build();
response.sendRedirect(redirectURL);

问题#1:

还有其他方法可以始终询问 Google 权限窗口吗?

最佳答案

我已经解决了在网址中添加 'setApprovalPrompt("force")' 的问题。

String redirectURL = url.setRedirectUri(CALLBACK_URI).setAccessType("offline").setApprovalPrompt("force").build();

我已经浏览了 GoogleAuthorizationCodeRequestUrl 类文档。在那里我可以选择设置批准提示。

i) null --> By default

ii) auto --> request to auto-approval

iii) force - to force the approval UI to show.

相关文档如下:

  /**
* Sets the approval prompt behavior ({@code "auto"} to request auto-approval or {@code "force"}
* to force the approval UI to show) or {@code null} for the default behavior of {@code "auto"}.
*
* <p>
* Overriding is only supported for the purpose of calling the super implementation and changing
* the return type, but nothing else.
* </p>
*/
public GoogleAuthorizationCodeRequestUrl setApprovalPrompt(String approvalPrompt) {
this.approvalPrompt = approvalPrompt;
return this;
}

关于java - 创建帐户按钮始终会转到登录 Gmail 帐户的浏览器。它怎么总是会请求谷歌的许可呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59891144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com