TweetSharp可以工作,但每次用户登录时都需要应用身份验证

时间:2014-09-16 15:00:33

标签: oauth twitter-oauth tweetsharp oauthtwitterwrapper

我的身份验证过程与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;
    }

1 个答案:

答案 0 :(得分:1)

弄明白了。

一旦你有了requestToken,而不是调用TwitterService.GetAuthorizationUrl,就调用TwitterService.GetAuthenticationUrl。

这将使其仅对应用程序进行一次授权,并且每次后续时间都允许用户只需登录而无需重新授权。

相关问题