我发现 scribe 在访问令牌中不能提取
OAuth 1.0 提取器包含以下内容:
这会导致一个问题。访问令牌可能会在将来过期。我必须通过保存的刷新令牌在每次登录进程中刷新访问令牌,但没有直接获取它的方法。
我计划改进scribe并添加此功能(不难)...但是否已经有人完成了这个?
refresh_token
。OAuth 1.0 提取器包含以下内容:
Preconditions.checkEmptyString(response, "Response body is incorrect. Can't extract a token from an empty string");
String token = extract(response, TOKEN_REGEX);
String secret = extract(response, SECRET_REGEX);
return new Token(token, secret, response);
这段文字提到了令牌密钥的内容。
但在OAuth2.0中,没有令牌密钥,而是使用refresh_token
。Scribe简单地忽略了它:
Preconditions.checkEmptyString(response, "Cannot extract a token from a null or empty String");
Matcher matcher = accessTokenPattern.matcher(response);
if(matcher.find())
{
return new Token(matcher.group(1), "", response);
}
else
{
throw new OAuthException("Cannot extract an acces token. Response was: " + response);
}
这会导致一个问题。访问令牌可能会在将来过期。我必须通过保存的刷新令牌在每次登录进程中刷新访问令牌,但没有直接获取它的方法。
我计划改进scribe并添加此功能(不难)...但是否已经有人完成了这个?