设计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中添加这些内容
- HTTP://本地主机:3000 /认证/叽叽喳喳/回调
- http://127.0.0.1:3000/
- http://127.0.0.1:3000/auth/twitter/callback
差不多一个小时后为我工作了!
登录失败后我收到了这些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
应该现在工作。
- 为什么twitter oauth访问令牌无效/过期(rails 3)
- 哪些Rubygem支持Facebook API?
- 在Rails 3中为OmniAuth创建命名路由
- 设计,Omniauth和Twitter
- OmniAuth before_filter要求登录
- Omniauth Facebook的before_filter?
- 允许使用OmniAuth访问Rails Web应用程序的Curl API
- OmniAuth Strategies Facebook NoAuthorizationCodeError(必须传递`code`参数或签名请求(通过`signed_request`参数):
- OmniAuth Railscast中的DangerousAttributeError教程:create由ActiveRecord定义