Uber OAuth2:刷新令牌呼叫返回Invalid_grant错误



uber oauth2刷新令牌呼叫返回以下错误:

invalid_grant

Invalid_grant提供的授权授予(例如授权 代码,资源所有者凭据)或刷新令牌无效, 过期,撤销,与在 授权请求,或已发给另一个客户。

重定向URI,刷新令牌,客户端ID没有更改。除了中断先前刷新尝试的网络问题或服务器问题外,什么可能导致此错误?

我从另一篇文章中阅读了以下内容。是真的吗?

,如果您尝试在 令牌未过期。

解决方案

浏览了Uber OAuth2登录页面后,浏览器一直存储登录cookie,因此将其应用于随后的OAuth2尝试,这导致服务器使用与其他用户Uber logins关联的较旧的cookie。这导致服务器为那些较旧的Uber登录生成新的访问权限和刷新令牌(即使它们没有像其他用户那样使用它们),从而使原始刷新令牌无效。

处理此边缘情况的正确方法是两个方面。首先,您想在用户用计算机完成用户后尽快清除Uber登录cookie。其次,每当您获得OAuth2令牌时,都应检查现有凭据(通过匹配Uber driver_id,for ex。检查),并使用新获得的访问/刷新令牌更新这些凭据,以便即使此事件都会自动自动发生获取新的令牌更新。

可能的问题是刷新令牌无效。发行新的访问令牌时,刷新令牌会无效,因此您需要始终保留最新的刷新令牌。授权新的访问令牌,然后使用最新的刷新令牌重试。

最新更新