【问题标题】:Google Javascript API: What happen after access token expire?Google Javascript API:访问令牌过期后会发生什么?
【发布时间】:2013-05-30 00:49:57
【问题描述】:

我有一个使用 Google Javascript API 的客户端网络应用程序(无后端)。 我对登录成功后获得的访问令牌有疑问。

从回调中可以看出,access-token 设置为 1 小时后过期。

expires_in: "3600"

问题是,我怎样才能“获得新令牌”? 从文档中,我的印象是,在令牌无效后,我们必须(并且我引用)执行一个新的重新授权流程,并将立即设置为 true 以获得最新的访问令牌。

来源: https://developers.google.com/+/web/api/javascript

但是,当我尝试再次调用 auth 方法时:

gapi.auth.authorize(parameters, callback)

我得到了令牌对象,但里面没有访问令牌。

{
    client_id: "{my_client_id}.apps.googleusercontent.com"
    cookie_policy: undefined
    expires_at: "1370371466"
    expires_in: "86400"
    g_user_cookie_policy: undefined
    issued_at: "1370285066"
    response_type: "token"
    scope: "https://www.googleapis.com/auth/plus.login https://gdata.youtube.com"
}

我错过了什么吗?我们通常如何在一个过期后获得一个刷新的令牌?

【问题讨论】:

    标签: javascript google-api access-token google-authentication


    【解决方案1】:

    在客户端,访问令牌是临时的。默认情况下,这是对用户资源的在线访问。为了再次获得访问令牌,您需要再次重定向用户以获得权限。

    在 OAuth 协议中,您的应用请求授权以访问由范围标识的资源,并且假设用户已通过身份验证并获得批准,您的应用会收到短暂的 访问令牌,使其可以访问这些资源资源,以及(可选或更准确地在服务器端)刷新令牌以允许长期访问。

    对于服务器端应用程序和用户资源的离线访问,您需要具有刷新令牌参考:Google Analytics API Automated Login

    另请阅读:https://developers.google.com/accounts/docs/OAuth2WebServer

    https://developers.google.com/accounts/docs/OAuth2UserAgent

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 2017-01-10
      • 2019-05-31
      • 2012-11-30
      • 2018-04-26
      • 2016-09-17
      • 2021-06-03
      相关资源
      最近更新 更多