我的身份验证过程与TweetSharp配合使用,可以将我的用户登录到我的应用中。然后我在我的系统上获取并保存oauth_token和oauth_token_verifier。
我尝试使用相同的令牌/验证程序组合来记录用户,这样可以防止用户再次授权应用程序...但是,当我登录到twitter时,我注意到了在网络上,该令牌/验证器组合不再有效,因此尝试再次登录它们并不起作用。
我不会'我每次都要求一个新的令牌/验证器组合,但我不会这样做。想强迫我的用户每次都必须授权应用程序。有办法解决这个问题吗?
这是我的twitterloginhelper类的相关代码:
LocalUser lsuser = new LocalUser();
TwitterService service = new TwitterService(consumer_key, consumer_secret);
OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);
service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
TwitterUser user = service.VerifyCredentials(new VerifyCredentialsOptions());
lsuser.oauth_token = oauth_token;
lsuser.oauth_token_secret = oauth_verifier;
lsuser.profile_pic = user.ProfileImageUrl;
lsuser.login_type = "Twitter";
lsuser.username = user.Name;
lsuser.oauth_uid = user.Id.ToString();
lsuser.email = "";
return lsuser;
}
答案 0 :(得分:1)
一旦你有了requestToken,而不是调用TwitterService.GetAuthorizationUrl,就调用TwitterService.GetAuthenticationUrl。
这将使其仅对应用程序进行一次授权,并且每次后续时间都允许用户只需登录而无需重新授权。