如何在Google对话流API中Oauth无限期获取访问令牌

时间:2018-09-18 02:40:47

标签: google-oauth dialogflow

通常,Google Access令牌的有效期为一小时,但我想将其设置为无有效期。我该怎么办,请帮忙

2 个答案:

答案 0 :(得分:1)

Google访问令牌只能使用一个小时,这是Oauth2标准,不能更改。您将需要使用刷新令牌来请求新的访问令牌。不知道是否可以使用dialogflow在一个小时后不得不再次请求用户进行身份验证。

OT:如果您的用户使用的应用程序超出访问令牌限制,那将是一个令人印象深刻的应用程序。

答案 1 :(得分:0)

根据[1],OAuth令牌的最大生存期为1小时(3600秒),无法更改。

如果您的意图是应用程序可以继续工作而不必“手动”重新创建新令牌,那么您可以尝试创建一个会话客户端,该客户端适用于多个请求,如最佳实践对话框流程参考[2]中所述:

“为了提高性能,可以将会话客户端对象的单个实例用于多个请求。会话客户端在有效期间(通常为一小时)重复使用同一访问令牌。过期后,会话客户端会自动刷新访问令牌,因此您无需重新创建会话客户端即可刷新访问令牌。同时刷新访问令牌的请求也可能需要花费一两秒钟的时间。

请尝试一下,让我知道结果。

[1] https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials#sa-credentials-oauth

[2] https://cloud.google.com/dialogflow-enterprise/docs/best-practices