Omniauth-twitter与Rails 5停止工作! OAuth ::未经授权403禁止使用

时间:2018-06-12 22:33:56

标签: ruby-on-rails devise ruby-on-rails-5 omniauth omniauth-twitter

一切都很好,Omniauth突然停止了工作。我没有进行任何代码更改。

我检查了Twitter应用设置: 我有回调网址到我的主要生产网址,并且回拨网址已锁定为否。所有密钥都是正确的。

有什么想法吗?

OAuth ::未经授权

403 Forbidden

enter image description here

7 个答案:

答案 0 :(得分:10)

我已经能够解决它(也用于开发)添加这个网址:

生产:

  • https://mydomain/users/auth/twitter/callback
  • http://mydomain/users/auth/twitter/callback

开发:

  • http://localhost:3000/users/auth/twitter/callback

答案 1 :(得分:5)

现在在Twitter回调网址上,您必须添加2个回调网址,并且回调网址必须是您的应用程序的路径。

我遇到了同样的问题,现在在添加第二个回调网址时,它已修复。

有关详情,请查看:https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342

答案 2 :(得分:3)

https://mysitecom/auth/twitter/callback添加第二个回拨网址已修复此问题(暂时)

----

更新:这实际上解决了大约10分钟的问题。现在遇到同样的问题

答案 3 :(得分:1)

我正在开发而不是生产,并使用omniauth和omniauth-twitter宝石遇到了这个问题。但是有了这两个回调网址:

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

避免了这个问题。奇怪,因为RailsApps教程警告不要在Twitter上使用“localhost”。

答案 4 :(得分:0)

我刚刚将https://domain/oauths/callback放入回拨网址列表中解决了这个问题。确保启用回调锁定选项。

答案 5 :(得分:0)

这几乎肯定与此变化有关:Action REQUIRED - Sign in with Twitter users must whitelist callback URLs

从链接:

  

在30天内,我们将开始强制执行任何网址的白名单   未添加到白名单中将失败。这意味着URL不能   在调用时以编程方式重写的更长时间   oauth / request_token端点112.提供callback_url参数   必须与其中一个列入白名单的回调网址匹配。虽然我们一般   这样的变更提供超过30天的通知   时间表使我们能够继续提供安全可靠的体验   对于开发人员和我们的用户。

     

您可以在应用程序的白名单中添加回调URL   apps.twitter.com上的设置页面488。

     

启用“启用回拨锁定”设置以仅测试URL   你已经被列入白名单。回调网址将自动生效   已锁定,白名单将于6月12日开始执行。该   “启用回拨锁定”设置将在此日期删除。

我无法使用127.0.0.1在开发中使用此功能,因此我最终创建了一个指向A的DNS 127.0.0.1记录(例如,dev.example.com)并使用了在https://apps.twitter.com上的回调网址设置中。

settings

答案 6 :(得分:0)

Unicode域名。 Twitter给我错误:不支持的域名格式。我需要完全匹配回调网址,我的服务器和回调网址在我的推特应用程序中发送。 解: 配置/初始化/ twitter.rb

OmniAuth::Strategies::Twitter.class_eval do
  def callback_url
    return my_custom_twitter_app_callback_url_string_variable
  end
end