设计Oauth Twitter:OAuth ::未经授权的禁止403

我正在尝试使用Devise实现Oauth Twitter。
我在twitter上创建了应用程序
我已将回调url设置为: http:// localhost:3000
我已将此添加到config \ initializers \ devise.rb

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

使用Twitter登录会自动出现在此路线:/ users / sign_up /但点击它时我收到此错误

密钥和密钥是正确的

我也尝试删除和创建新的应用程序。

我无法修复它

非常感谢帮助

在此处输入图像描述

这里说它需要设置https。 所以我按照这个来设置它。 但得到同样的错误

事实certificate,在twitter app设置中,默认情况下Callback URL Lock设置为Yes 。 将其切换为No修复错误。

感谢kubido帮我解决了github上的问题

您可以尝试在https://apps.twitter.com/的回拨url中添加这些内容

差不多一个小时后为我工作了!

登录失败后我收到了这些URL。 我检查了request_options。 一种方法是使用BetterErrors gem。

在此处输入图像描述

我一直面临同样的问题,最终我通过添加以下回调修复它,

 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 

它就像一个魅力, 在此处输入图像描述

似乎Twitter有localhost / 127.0.0.1回调问题,但使用ngrok创建公共URL以暴露我的本地服务器解决了这个问题。

开始ngrok:

 ngrok http 3000 

使用ngrok创建的HTTPS URL更新Twitter应用程序回调URL。

例:

 https://4e1ab946.ngrok.io/auth/twitter/callback 

在端口3000上启动rails服务器并将浏览器指向:

 https://4e1ab946.ngrok.io/auth/twitter 

应该现在工作。