Google+ Auth容错(代码已兑换)
Google+ Auth fault tolerance (code was already redeemed)
我目前正在通过离线访问在 Android 上实施 Google+ 身份验证。这需要请求一个一次性授权代码,该代码可以发送到服务器并兑换为刷新令牌。到目前为止一切顺利。
但是假设在兑换代码和向用户发送响应表明他们已通过身份验证之间服务器上出现错误。如果用户然后重新请求验证码,Google returns 与先前发出的相同。当服务器尝试使用 Google 兑换此代码时,错误
"Invalid Grant - This code was already redeemed"
返回。
在 Google 将决定发布新代码时,是否有一种不需要用户 "try again later" 从这种情况中正常恢复的方法?我意识到获取新代码的等待时间只有 5 或 10 分钟,但从用户的角度来看,这仍然不是一个很好的情况。
您需要使用的是clearToken(Context context, String token)。
如果您得到回复:
"Invalid Grant - This code was already redeemed"
您需要将您使用的验证码传递给clearToken()函数。这将从缓存中删除该令牌。
再次调用 getToken() ,它会给你一个新的验证码,这样你就不必等到验证码自己刷新了。
我目前正在通过离线访问在 Android 上实施 Google+ 身份验证。这需要请求一个一次性授权代码,该代码可以发送到服务器并兑换为刷新令牌。到目前为止一切顺利。
但是假设在兑换代码和向用户发送响应表明他们已通过身份验证之间服务器上出现错误。如果用户然后重新请求验证码,Google returns 与先前发出的相同。当服务器尝试使用 Google 兑换此代码时,错误
"Invalid Grant - This code was already redeemed"
返回。
在 Google 将决定发布新代码时,是否有一种不需要用户 "try again later" 从这种情况中正常恢复的方法?我意识到获取新代码的等待时间只有 5 或 10 分钟,但从用户的角度来看,这仍然不是一个很好的情况。
您需要使用的是clearToken(Context context, String token)。
如果您得到回复:
"Invalid Grant - This code was already redeemed"
您需要将您使用的验证码传递给clearToken()函数。这将从缓存中删除该令牌。
再次调用 getToken() ,它会给你一个新的验证码,这样你就不必等到验证码自己刷新了。