gpt4 book ai didi

java - Google授权代码流

转载 作者:行者123 更新时间:2023-12-01 14:08:27 24 4
gpt4 key购买 nike

调用电话后:

GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
httpTransport, JSON_FACTORY, clientSecrets, SCOPES).setDataStoreFactory(
dataStoreFactory).build();
Credential cred = flow.loadCredential(userIdFromMyApplication);

发现我们的 userIdFromMyApplication 尚未授予我们使用其 Google 帐户的权限(即 cred 为空),我执行以下操作:

if (cred == null) {
String url = flow.newAuthorizationUrl().setState("/linkaccount")
.setRedirectUri("http://myapp.com/oauth2.php").build();
//redirect them to the url
}

我的问题是,一旦他们授予了我的应用程序访问权限,并且 Google 使用设置的访问 code 参数调用我在 API 访问 token 下设置的应用程序的 oauth2 重定向网址,我该如何处理将此代码userIdFromMyApplication关联?在构建redirectUrl 时,是否必须在对setState 的调用中设置userIdFromMyApplication?这是一个可行的约定吗?或者是否有更聪明的方法来确定哪个访问 token 属于哪个用户?

最佳答案

要么将用户 ID 存储在 httpSession 中,要么将用户 ID(最好是混淆的)添加到“state”参数中,然后该参数将包含在 oauth 回调中。我个人使用httpSession。

实际上,第二种方法可能会带来安全风险,因此请使用httpSession。

关于java - Google授权代码流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729190/

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