报告过期的访问令牌

时间:2019-08-22 10:21:14

标签: actions-on-google google-smart-home

我正在努力实施Google动作,因此遇到了这个问题。

成功进行身份验证(使用OAuth进行帐户链接)后,一切正常,所有意图(SYNC,QUERY ec ...)均正常运行。 在测试过程中,我重新启动了用于处理身份验证和意图的服务器(该服务器还保存了我们这边的用户会话),以便Google的用户会话在我们这边已经无效(存在),因此当传入新意图时使用访问令牌(可以说已经在我这边过期了),表示身份验证错误的意图失败。问题来了:

我已经尝试用authExpired或什至authFailure进行响应,如下所述:https://developers.google.com/actions/smarthome/develop/process-intents#error-responses

但是它根本不起作用。直到令牌在Google方面没有过期之前,我无法使其“有意地”过期。因此,为了使其正常工作,我们不得不取消动作的链接或等待到期时间,以使所有操作均按预期进行。

这是预期的行为吗?

我希望我的问题很清楚,如果不是这样的话,我在这里补充更多细节。

谢谢

1 个答案:

答案 0 :(得分:0)

  

在令牌没有在Google方面到期之前,我似乎无法使其“有意地”到期。

您是正确的,这是当前行为。一般而言,我们希望开发人员使用短暂的访问令牌,因为过期时间对于要求再次授予这些令牌很有意义。

希望使用户有意撤消访问权限(不取消其帐户链接)的开发人员应使提供给Google的刷新令牌无效,并在提供这些凭据时继续返回authFailure