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

Oauth TweetSharp可以工作,但每次用户登录时都需要应用程序身份验证,oauth,twitter-oauth,tweetsharp,oauthtwitterwrapper,Oauth,Twitter Oauth,Tweetsharp,Oauthtwitterwrapper,我的认证过程与TweetSharp配合得很好,可以将我的用户登录到我的应用程序中。然后在我的系统上获取并保存oauth_令牌和oauth_令牌验证器 我曾尝试使用相同的令牌/验证器组合将用户重新登录,这确实阻止了用户再次授权应用程序的必要性……然而,我注意到,当我在web上登录twitter时,令牌/验证器组合不再有效,因此尝试再次登录他们不起作用 我不介意每次都请求一个新的令牌/验证器组合,但我不想强迫我的用户每次都必须授权应用程序。有办法解决这个问题吗 以下是我的twitterloginhe

我的认证过程与TweetSharp配合得很好,可以将我的用户登录到我的应用程序中。然后在我的系统上获取并保存oauth_令牌和oauth_令牌验证器

我曾尝试使用相同的令牌/验证器组合将用户重新登录,这确实阻止了用户再次授权应用程序的必要性……然而,我注意到,当我在web上登录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;
    }
把这个弄明白了

拥有requestToken后,不要调用TwitterService.GetAuthorizationUrl,而是调用TwitterService.GetAuthenticationUrl

这将使它只对应用程序授权一次,并且以后每次都允许用户在不重新授权的情况下登录