Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带有Rails 5的Omniauth twitter停止工作!OAuth::禁止未经授权的403_Ruby On Rails_Devise_Ruby On Rails 5_Omniauth_Omniauth Twitter - Fatal编程技术网

Ruby on rails 带有Rails 5的Omniauth twitter停止工作!OAuth::禁止未经授权的403

Ruby on rails 带有Rails 5的Omniauth twitter停止工作!OAuth::禁止未经授权的403,ruby-on-rails,devise,ruby-on-rails-5,omniauth,omniauth-twitter,Ruby On Rails,Devise,Ruby On Rails 5,Omniauth,Omniauth Twitter,一切正常,Omniauth突然停止工作。我没有做任何代码更改 我检查了Twitter应用程序设置: 我有回叫url到我的主要产品url,并且回叫url锁定为“否”。所有键都是正确的 有什么想法吗 添加第二个回调URL以修复此问题(目前) ---- 更新:这实际上解决了大约10分钟的问题。现在在twitter回调URL上遇到同样的问题,您必须添加2个回调URL,并且回调URL必须是应用程序的路径 我曾经遇到过同样的问题,现在在添加第二个回调URL时,它被修复了 有关更多信息,请查看:我刚刚通过放置

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

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


有什么想法吗 添加第二个回调URL以修复此问题(目前)

----


更新:这实际上解决了大约10分钟的问题。现在在twitter回调URL上遇到同样的问题,您必须添加2个回调URL,并且回调URL必须是应用程序的路径

我曾经遇到过同样的问题,现在在添加第二个回调URL时,它被修复了


有关更多信息,请查看:

我刚刚通过放置
https://domain/oauths/callback
在回调URL列表中。确保启用了回调锁定选项

这几乎肯定与此变化有关:

从链接:

30天后,我们将开始强制执行白名单,以便任何URL 未添加到白名单将失败。这意味着URL不能被删除 在调用 oauth/request_令牌端点112。提供了回调url参数 必须与白名单中的回调URL之一匹配。而我们一般 提供超过30天的变更通知,如: timeline允许我们继续提供安全可靠的体验 对于开发者和我们的用户

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

启用设置“Enable Callback Locking”以测试仅允许URL 您已被列入白名单,并且已被接受。回调URL将自动被删除 已锁定,白名单将从6月12日开始强制执行。这个 “启用回调锁定”设置将在此日期删除

我无法在
127.0.0.1
的开发中实现这一点,因此我最终创建了一个DNS
a
记录,指向
127.0.0.1
(例如,
dev.example.com
),并在上的回调url设置中使用它


我已经能够解决这个问题(也是为了开发),添加以下URL:

生产:

  • https://mydomain/users/auth/twitter/callback
  • http://mydomain/users/auth/twitter/callback
促进发展:

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

    • Unicode域名。推特给我错误:不支持域名格式。我需要完全匹配的回调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 gems时遇到了这个问题。但使用以下两个回调URL:

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

      这个问题是可以避免的。奇怪的是,RailsApps教程警告不要在Twitter上使用“localhost”。

      我还尝试重新生成令牌。还是一样的问题!相关的我也经历过这种情况。你能把你所做的扩展一下吗?这实际上解决了这个问题大约10分钟。现在遇到同样的问题嘿,是的,我也试过。添加一个10分钟内固定的第二个。现在遇到了同样的问题。你到底给出了什么网址?谢谢@设计器您在回调中添加了什么url?mysitedotcom/和mysitedotcom/auth/twitter/callback,两者都使用h t t p sSomeone,最好在Omniauth上引发一个问题repo@Designer尝试回调url:并且,您必须添加2个url这似乎是一个有效的解决方案。在本地和制作中都能工作。哇,谢谢@antoniobg87!我缺少用户/部分,而不是仅仅添加auth/twitter/callback。这对我在生产中起了作用。Cheesmy_自定义_twitter_应用程序_回调_url_字符串_变量=“”