Oauth TweetSharp可以工作,但每次用户登录时都需要应用程序身份验证
我的认证过程与TweetSharp配合得很好,可以将我的用户登录到我的应用程序中。然后在我的系统上获取并保存oauth_令牌和oauth_令牌验证器 我曾尝试使用相同的令牌/验证器组合将用户重新登录,这确实阻止了用户再次授权应用程序的必要性……然而,我注意到,当我在web上登录twitter时,令牌/验证器组合不再有效,因此尝试再次登录他们不起作用 我不介意每次都请求一个新的令牌/验证器组合,但我不想强迫我的用户每次都必须授权应用程序。有办法解决这个问题吗 以下是我的twitterloginhelper类的相关代码:Oauth TweetSharp可以工作,但每次用户登录时都需要应用程序身份验证,oauth,twitter-oauth,tweetsharp,oauthtwitterwrapper,Oauth,Twitter Oauth,Tweetsharp,Oauthtwitterwrapper,我的认证过程与TweetSharp配合得很好,可以将我的用户登录到我的应用程序中。然后在我的系统上获取并保存oauth_令牌和oauth_令牌验证器 我曾尝试使用相同的令牌/验证器组合将用户重新登录,这确实阻止了用户再次授权应用程序的必要性……然而,我注意到,当我在web上登录twitter时,令牌/验证器组合不再有效,因此尝试再次登录他们不起作用 我不介意每次都请求一个新的令牌/验证器组合,但我不想强迫我的用户每次都必须授权应用程序。有办法解决这个问题吗 以下是我的twitterloginhe
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;
}
把这个弄明白了
拥有requestToken后,不要调用TwitterService.GetAuthorizationUrl,而是调用TwitterService.GetAuthenticationUrl
这将使它只对应用程序授权一次,并且以后每次都允许用户在不重新授权的情况下登录