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

2

10

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?

Hydropathy answered 7/6, 2011 at 14:50 Comment(0)
E
9

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.

Externality answered 7/6, 2011 at 15:30 Comment(0)
M
7

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

Mill answered 18/8, 2012 at 18:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.