我有一个受Oauth2保护的Google App Engine端点项目。我看到一些请求由于无效令牌而失败。
请求网址:https://example.appspot.com/_ah/api/mm/v1/list?filter=q%3Dtest&alt=json 方法:example.resource.list 错误代码:401 原因:必填 消息:令牌无效。
我可以从请求的HEADER中注销令牌。 我得到的令牌是访问令牌,格式如ya29.vwGg -....
当我尝试时 https://www.googleapis.com/oauth2/v1/tokeninfo?access_token= 查找令牌信息,例如issue_to,client_id,extra。
它返回 { 错误:" invalid_token", error_description:"无效值" }
我已经测试过了 https://developers.google.com/oauthplayground 如果令牌已过期,则url会返回相同的错误。
我猜测我的请求失败的原因是使用的令牌已过期。 但不是100%肯定。
有没有办法找到有关过期访问令牌的令牌信息? 或者更广泛的, 有没有办法找到有关无效访问令牌的更多信息,比如为什么它无效或其他什么?
答案 0 :(得分:0)
我删除谷歌帐户并添加谷歌帐户,然后登录工作。
Google在how to Authenticate with a backend server.
上的Android登录指南一种简单的方法是检查令牌,XYZ123是您的令牌
https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123
答案 1 :(得分:0)
获取令牌信息的方法有很多种。通常令牌因各种原因无效,因此重要原因是无效签名和令牌过期。您可以使用https://jwt.io解码令牌并获取信息。您的错误说明清楚地说明了为什么您的令牌被视为无效的原因。尝试深入研究代码,看看它为什么说无效值。