一切都很好,Omniauth突然停止了工作。我没有进行任何代码更改。
我检查了Twitter应用设置: 我有回调网址到我的主要生产网址,并且回拨网址已锁定为否。所有密钥都是正确的。
有什么想法吗?
OAuth ::未经授权
403 Forbidden
答案 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个回调网址,并且回调网址必须是您的应用程序的路径。
我遇到了同样的问题,现在在添加第二个回调网址时,它已修复。
答案 2 :(得分:3)
答案 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上的回调网址设置中。
答案 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