Rails 5 的 Omniauth-twitter 停止工作! OAuth::Unauthorized403禁止访问

Omniauth-twitter with Rails 5 stopped working! OAuth::Unauthorized 403 Forbidden

一切正常,Omniauth 突然停止工作。我没有做任何代码更改。

我检查了 Twitter 应用程序设置: 我有回调 url 到我的主要作品 url,并且回调 URL 锁定为否。所有键都是正确的。

有什么想法吗?


OAuth::未授权

403 禁止

https://mysitecom/auth/twitter/callback 添加第二个回调 URL 解决了问题(目前)

————-

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

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

我遇到了同样的问题,现在添加第二个回调URL,问题就解决了。

更多信息请查看:https://twittercommunity.com/t/action-required-sign-in-with-twitter-users-must-whitelist-callback-urls/105342

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

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

来自link:

In 30 days, we will begin enforcing the whitelist such that any URL not added to the whitelist will fail. This means that URLs can no longer be programmatically overridden in calls to the oauth/request_token endpoint 112. The callback_url parameter provided must match one of the whitelisted callback URLs. While we generally provide longer than a 30-day notice for changes like this, this timeline allows us to continue to provide a safe and secure experience for developers and our users.

You can add callback URLs to your whitelist on the applications settings page on apps.twitter.com 488.

Enable the setting “Enable Callback Locking” to test that only URLs you have whitelisted are accepted. Callback URLs will automatically be locked and the whitelist will be enforced starting on June 12th. The “Enable Callback Locking” setting will be removed on this date.

我无法在 127.0.0.1 的开发中使用它,所以我最终创建了一个指向 127.0.0.1 的 DNS A 记录(例如,dev.example.com)并在 https://apps.twitter.com.

的回调 url 设置中使用了它

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

用于生产:

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

用于开发:

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

Unicode 域名。 Twitter 给我错误:不支持的域名格式。我需要完全匹配回调 url,由我的服务器发送并在我的 Twitter 应用程序中回调 url。 解决方案: config/initialization/twitter.rb

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

我从事的是开发而不是生产,并且在使用 omniauth 和 omniauth-twitter gem 时遇到了这个问题。但是有了这两个回调 URL's:

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

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