【问题标题】:Google OAuth Token Force Expiration Not HappeningGoogle OAuth 令牌强制到期未发生
【发布时间】:2015-05-14 20:02:28
【问题描述】:

我试图强制使联系人 API 的 Google API OAuth 访问令牌过期。

这是我的测试的概要:

获取代码:

auth_uri = flow.step1_get_authorize_url()    
redirect(auth_uri) code here

用它换取访问令牌:

code = request.GET.get('code')
credentials = flow.step2_exchange(code)
store_for_reuse(key, credentials)
store_for_refresh(key, credentials)

获取新的访问令牌:

credentials_original = get_for_reuse(key)
credentials_for_refresh = get_for_refresh(key)
credentials_for_refresh.refresh(http)

现在,我可以验证两个凭据对象是否具有不同的访问令牌值

credentials_original.access_token != credentials_for_refresh.acesss_token

令人惊讶的是,我仍然可以使用原始访问令牌成功调用 API。颁发新的访问令牌时,原始令牌不应该过期吗?

【问题讨论】:

    标签: oauth google-api


    【解决方案1】:

    获取新令牌不会使现有令牌过期。除非explicitly revoked,否则令牌将在其指定的生命周期内有效。

    【讨论】:

    • 知道了。但是,这不会暴露潜在风险吗?
    • 默认情况下,令牌仅在一个小时内有效,因此任何风险都是短暂的。另外,如果攻击者设法获得原始令牌,他们很可能也可以获得新令牌。
    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 2012-06-05
    • 2022-07-12
    • 2014-11-20
    • 2014-03-19
    • 1970-01-01
    • 2018-09-16
    • 2011-03-05
    相关资源
    最近更新 更多