401未经授权使用omniauth-twitter

kra*_*anz 0 ruby-on-rails twitter-oauth omniauth

我试图在rails应用程序中使用omniauth-twitter,但我一开始就陷入困境,无法弄清楚原因是什么.我确实在dev.twitter.com注册了我的应用程序,我得到了CONSUMER_KEY和CONSUMER_SECRET.为了缩短测试时间,我将这两个变量直接放在initializers/omniauth.rb中

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, "an_alphanumeric_code", "some_other_alphanumeric_code"
end
Run Code Online (Sandbox Code Playgroud)

在application.html.erb布局中,我有Twitter登录的链接

<%= link_to "Sign in with Twitter", "auth/twitter" %>
Run Code Online (Sandbox Code Playgroud)

但是当我点击登录时,我没有被重定向到Twitter登录

401 Unauthorized
Run Code Online (Sandbox Code Playgroud)

我已经在SO上检查了其他问题,这不应该是计算机时间问题(我的rails服务器时间设置正确).我怀疑问题在于没有可用于测试的公共IP和服务器名称.

是否有人能够从本地127.0.0.1:3000 rails服务器上运行omniauth-twitter?

pra*_*kch 5

您是否Callback URL在注册应用程序时将其放入应用程序中?如果Callback URL缺少那么这是您将遇到的第一个问题.