ASP.NET使用Twitter登录按钮 - 如果已经过身份验证,如何停止要求用户进行身份验证?

时间:2012-10-03 08:07:30

标签: c# asp.net twitter-oauth

我在我的网站项目中使用Twitterizer库。在我们的网站上,我们使用登录Twitter按钮。我们在某些计算机上遇到的问题是它一直将用户引导到Twitter并要求他进行身份验证并允许应用程序进行交互。如果用户之前已经对我们的应用程序进行了身份验证,我该怎么办?

这是我用于按钮的代码:

string callbackUrl = string.Concat(Request.Url.GetLeftPart(UriPartial.Authority), "/Callback.aspx");

        if (Request.UrlReferrer != null)
        {
            callbackUrl = string.Format("{0}?sendto={1}", callbackUrl, HttpUtility.UrlEncode(Request.UrlReferrer.AbsoluteUri));
        }
        OAuthTokenResponse requestTokenResponse = OAuthUtility.GetRequestToken(
            ConfigurationManager.AppSettings["Twitter.ConsumerKey"],
            ConfigurationManager.AppSettings["Twitter.ConsumerSecret"],
            callbackUrl);

        string authUrl = OAuthUtility.BuildAuthorizationUri(requestTokenResponse.Token,true).AbsoluteUri;
        Response.Redirect(authUrl);

通过将authUrl更改为以下内容来解决此问题:

string authUrl = "https://api.twitter.com/oauth/authenticate?oauth_token=" + requestTokenResponse.Token;

1 个答案:

答案 0 :(得分:3)

我不相信有办法停止要求用户通过Twitter验证自己。根据以前使用SocialAuth.NET,Twitterizer和OAuth路线的经验,我一直都经历过身份验证页面,因此在此discussion中也有其他人。

更新

这篇文章可以帮助您:https://stackoverflow.com/a/9910051/1300806

我刚尝试使用帖子中说明的方法,并设法让我的Twitter实施(使用OAuth)正常工作,以便用户不必持续授予权限。

你每天都学到新东西!