通过实施我最初使用Google的Drive Api进行测试的动作脚本OAuth库,我是一个公平的方式。
我知道您应该如何使用刷新令牌刷新访问令牌,但我的问题是如何测试它?
如何使access_token过期,以便测试捕获错误的代码,尝试刷新然后重新加载初始请求?如果我每周只能这样做一次(或者经常会过期),那么需要一段时间才能做到这一点!
由于
答案 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并且授权令牌仍处于活动状态,你只需重新获得相同的实时令牌,但过期时间会被重置。