我目前正在通过离线访问在Android上实现Google+身份验证。这需要请求一个一次性授权代码,该代码可以发送到服务器,并为刷新令牌进行赎回。到目前一切尚好。
但是,假设服务器上在代码被替换到向用户发送响应之间发生了错误,这表明他们已经通过了身份验证。如果用户随后重新请求身份验证代码,Google将返回与先前发布的代码相同的代码。当服务器试图用Google替换此代码时,会出现错误
“无效的授权--此代码已被赎回”
会被归还。
在这种情况下,当Google决定发布新代码时,用户不需要“稍后再试”,是否有一种优雅的恢复方式?我意识到获得新代码的等待时间只有5到10分钟,但从用户的角度来看,这仍然不是一个很好的情况。
发布于 2015-05-14 17:26:57
您需要使用的是clearToken(上下文,字符串令牌)。
如果你得到回应:
“无效的授权--此代码已被赎回”
您需要传递用于clearToken()函数的身份验证代码。这将从缓存中删除该令牌。
再次调用getToken(),它将为您提供一个新的身份验证代码,这样您就不必等到代码本身刷新。
https://stackoverflow.com/questions/29192905
复制相似问题