【发布时间】:2012-04-05 22:07:44
【问题描述】:
我正在使用 Scribe 登录 google 和 Twitter。它运行良好,但如果用户已经接受,我希望允许应用程序直接连接而无需用户干预。
Scribe 可以吗?如果是,我该怎么做?
【问题讨论】:
我正在使用 Scribe 登录 google 和 Twitter。它运行良好,但如果用户已经接受,我希望允许应用程序直接连接而无需用户干预。
Scribe 可以吗?如果是,我该怎么做?
【问题讨论】:
是的。您可以将access_token 和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.
【讨论】: