我正在使用 Scribe 登录 google 和 Twitter。它工作得很好,但如果他已经接受了它,我希望允许应用程序直接连接而无需用户干预。
Scribe 可以吗?如果是,我该怎么做?
是的。您可以将access_token
and保存在access_token_secret
任何地方(数据库、键值存储、会话等)并使用它们直到它们过期(它们对于大多数提供者来说是长期存在的)。
我猜您有一种识别用户的方法,假设这被称为user_id
,我会将其存储在持久性介质(不是会话)中,如下所示:
user_id
access_token
access_token_secret
然后,从介质中获取令牌和秘密,并使用以下命令重新创建令牌:
new Token(access_token, access_token_secret);
是的。使用 twitter 的授权 url 的以下值:
Scribe scribe = new ServiceBuilder()
.provider(org.scribe.builder.api.TwitterApi.class)
.apiKey(...)
.apiSecret(...)
.callback(...);
Token requestToken = scribe.getRequestToken();
String authorizationUrl = "https://twitter.com/oauth/authenticate?oauth_token="
+ requestToken.getToken();
// and redirect user to the authorization URL
// twitter will redirect it back to the callback URL if
// the user has already been authorized your app.