【问题标题】:How to get persistent access to a user's google account?如何获得对用户谷歌帐户的持久访问权限?
【发布时间】:2011-05-16 19:42:26
【问题描述】:

我的应用从用户的 Google 日历中提取信息。 用户已经必须登录我的应用程序,因此他们发现每次会话必须至少“授予访问权限”一次(目前使用 OAuth)对他们的 Google 帐户“授予访问权限”很烦人。

有没有办法获得永久(或更接近)资助?

我什至愿意使用 openID 作为我的主要身份验证。会有帮助吗?

我相信 GData API 提供了一个 ClientLogin 协议,该协议要求我存储用户的登录信息,我对此并不满意,但如果归根结底,我认为它比替代方案更好。

【问题讨论】:

    标签: php oauth openid google-api google-openid


    【解决方案1】:

    生成的 oAuth 令牌永远不会过期,除非用户/应用程序自己撤销它们。当用户在您的应用程序上注册时,只需获取一次访问令牌和访问秘密令牌。将其存储在本地,并在需要时使用它来查询 GDATA Api。

    用户再次登录时,您无需每次都请求访问令牌。

    【讨论】:

      【解决方案2】:

      由于您使用的是 OAuth,我知道您的应用程序是 Web 应用程序?好吧,OAuth 是您遇到所描述问题的原因,这不完全是问题,而是 API 的一个特性。请注意,OAuth 连接是经过数字签名的,因此每次用户尝试登录时,他们都会被重定向到 OAuthAuthorizeToken 页面。

      要解决您的问题,请使用 AuthSub 而不是 OAuth。它不太安全,但更方便。此外,它还允许您的应用程序简单地接收表示用户已通过 Goodle 验证的令牌,因此您不需要以这种方式存储有关您的用户的任何信息。

      希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        有一个Oauth/OpenID hybrid solution(见source)——基本上你要求一定的范围访问,获取基本的用户数据并请求令牌作为回报,然后你将它交换为身份验证令牌并保存以备将来使用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-15
          • 2021-10-21
          • 2017-05-29
          • 1970-01-01
          • 2017-10-21
          • 2018-07-25
          • 2019-05-23
          • 2017-02-24
          相关资源
          最近更新 更多