简体   繁体   中英

The remote server returned an error: (401) Unauthorized. Twitter oAuth

I am trying to make work twitter oAuth with twitterizer, but I am unable.

I am getting the following error:

The remote server returned an error: (401) Unauthorized .

When my callback url is a localhost.

If my callback url is oob, for the pin flow it works correctly.

Here is my code:

 public ActionResult LogOn(string returnUrl, bool? perm)
    {
        string consumerKeyTw = @"UF3F72XqfGShQs7juKMApA";
        string consumerSecretTW = "secret";
        OAuthTokenResponse requestToken = OAuthUtility.GetRequestToken(consumerKeyTw, consumerSecretTW, "http://localhost:58892/Twitterr/OAuth");

        // Direct or instruct the user to the following address:
        Uri authorizationUri = OAuthUtility.BuildAuthorizationUri(requestToken.Token);

        return new RedirectResult(authorizationUri.ToString(), false);
    }

I never get the token when I setup the callback url. On twitter I register my callback url localhost.

Am I missing somthing?

Any idea whats going on?

Make sure your application is set as a web application on the development portal . For the callback address there, make sure you use an incorrect address (like your application's homepage), then specify the real address at runtime.

Web applications can use pin-based authentication, but desktop applications cannot use the web flow.

I had this same problem and fixed it by adding a "Callback URL" in the Twitter App Settings page. I didn't have my domain name yet so I simply added a unused domain name like: http://www.website.com . The Twitterizer request call immediatly started working for me.

Fissh

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM