gpt4 book ai didi

oauth - 谷歌混合协议(protocol)身份验证问题

转载 作者:行者123 更新时间:2023-12-04 21:49:24 28 4
gpt4 key购买 nike

我已经成功地使用 OAuth1.0+OpenID Hybrid 协议(protocol)向 Google 进行身份验证,然后使用它的服务。

但是,我面临特定用户帐户的错误。
我目前的流程:

  • 执行发现
  • 使用 OpenID 和 OAuth 参数将用户重定向到提供者(例如:https://accounts.google.com/o/openid2/auth?https://accounts.google.com/o/openid2/auth?openid.ns=http://specs.openid.net/auth/2.0&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&.....&openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0&openid.ext2.consumer=mywebsite.com&openid.ext2.scope=https://picasaweb.google.com/data+https://www-opensocial.googleusercontent.com/api/people/+http://www.google.com/m8/feeds/)
  • 一旦用户成功验证并批准权限请求,应用程序返回到我指定的回调 URL 长字符串,其中包含类似于上述请求的字符串,我从“openid.ext2.request_token”中提取授权 token ,然后通过传递它获取访问 token 。

  • 但是,对于特定的用户帐户,在成功验证和授予权限后,谷歌不会像上面所说的那样传递结果,而是重定向到某个 URL https://accounts.google.com/o/openid2/approval?xsrfsign=AC9jObYAAAAATpF6x6S6Ac7MfHaZ然后返回我的应用程序,查询字符串中没有任何参数。

    相同的代码适用于其他帐户。我无法确定一个帐户有什么特别之处(除了我上个月才创建的)。请注意,这仅在我将 picasa 包含在范围内时才会发生。如果我排除 picasa,它会起作用。

    请帮助解决这个问题。

    最佳答案

    能够通过添加 request_token 请求来解决此问题。奇怪的是,它可以在大多数帐户没有此请求的情况下工作。但是,对于创建的新帐户,我必须在请求中明确设置此参数。一旦设置了这个参数,我没有将用户重定向到 xsrfsign.. URL,而是获得了用户详细信息和请求 token 。

    关于oauth - 谷歌混合协议(protocol)身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7703002/

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