如何使用刷新令牌测试刷新我的Google访问令牌

时间:2013-12-23 14:02:29

标签: google-oauth google-authentication

通过实施我最初使用Google的Drive Api进行测试的动作脚本OAuth库,我是一个公平的方式。

我知道您应该如何使用刷新令牌刷新访问令牌,但我的问题是如何测试它?

如何使access_token过期,以便测试捕获错误的代码,尝试刷新然后重新加载初始请求?如果我每周只能这样做一次(或者经常会过期),那么需要一段时间才能做到这一点!

由于

6 个答案:

答案 0 :(得分:7)

如果您要测试代码,则实际上不需要使访问令牌无效或失效。只需使用空访问令牌进行(例如)Drive调用,您将收到与过期访问令牌相同的401响应。

答案 1 :(得分:1)

最简单的方法是使用OAuth Playground 2.0

https://developers.google.com/oauthplayground/

在第2步中,您可以尝试使用访问令牌刷新访问令牌。

此外,在设置(齿轮图标)中,您可以设置自己的OAuth凭据,以便为自己的API项目进行测试。

答案 2 :(得分:1)

嗯,从对这个问题的回答不足来判断,我假设没有办法做到这一点。

此页面: https://developers.google.com/youtube/v3/guides/authentication#installed-apps

介绍如何使用此URL撤消访问或刷新令牌:

https://accounts.google.com/o/oauth2/revoke?token={token}

然后说:

  

指定的令牌可以是访问令牌或刷新令牌。如果令牌是访问令牌并且它具有相应的刷新令牌,则刷新令牌也将被撤销。

因此,如果您只想撤销您无法访问的访问令牌。

我认为唯一的解决方案是等待访问令牌过期(似乎需要一个小时),然后继续测试您的应用。

如果有人告诉我更快的方式让令牌过期,我将非常高兴。

答案 3 :(得分:1)

我正在使用nodemailer。设置传输器对象的选项时,您可以指定“过期”对象。时间。我没有找到任何关于该选项的文档,但我确定你能搞清楚。 :)

答案 4 :(得分:1)

我只需记下过期的access_token即可处理此测试。然后,当我需要测试我的应用程序如何处理过期的令牌时,我只需为应用程序提供已过期的令牌即可使用。这样,例如,我可以测试带有过期令牌的请求将按预期失败。

答案 5 :(得分:0)

我还没有办法缩短访问令牌的到期时间。

实际上,除非您撤消访问权限,否则您甚至无法生成另一个refresh_token。即使您让访问令牌过期,我也不认为您可以生成另一个refresh_token,尽管我必须等待一个小时来测试它。

我确实发现如果你发送了refresh_token并且授权令牌仍处于活动状态,你只需重新获得相同的实时令牌,但过期时间会被重置。