Devise Oauth Twitter: OAuth::Unauthorized Forbidden 403

4.3k views Asked by At

I am trying to implement Oauth Twitter using Devise.
I have created app on twitter
I have set callback url to: http://localhost:3000
I have added this to config\initializers\devise.rb

  config.omniauth :twitter, "key", "key secret"

Sign in with Twitter automatically appears at this route: /users/sign_up/ But on clicking it I get this error

key and key secret are correct

I also tried deleting and creating new app.

I cannot get it fixed

Help would be greatly appreciated

enter image description here

Here it says that https needs to be setup. So I followed This to set it up. But getting the same error

4

There are 4 answers

0
Stuxen On BEST ANSWER

Turns out that in twitter app settings Callback URL Lock was set to Yes by default. Switching it to No fixed the error.

Thanks to kubido for helping me out to close the issue on github

0
Yijun On

You need set the callback url to: "Your url"/auth/twitter/callback

0
Noel Victorino On

You can try to add these in the Callback URLs in https://apps.twitter.com/

Worked for me after almost an hour!

I got these URLs after failing the log-in. I checked the request_options. One way to do it is using BetterErrors gem.

enter image description here

0
Hamza Khan On

I had been facing the same issue, eventually i fixed it by adding the following callbacks,

http://127.0.0.1:3000/auth/twitter/callback
http://127.0.0.1/
http://127.0.0.1/auth/twitter/callback
http://localhost:3000/auth/twitter/callback

and it worked like a charm, enter image description here