Stage:
I have a Rails app, it should authenticate users using their twitter account, so I use Omniauth-Twitter gem.
I have configured one app in dev.twitter.com
enabling Sign in with twitter
flag and getting consumer_key
and consumer_secret
.
I was following this guide https://github.com/arunagw/omniauth-twitter#readme
In Rails app, I have configured some files:
config/initializers/omniauth.rb
:Rails.application.config.middleware.use OmniAuth::Builder do # Twitter consumer data CONSUMER_KEY='xxxxxxxxxxxxxxxxx' CONSUMER_SECRET='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy' provider :twitter, CONSUMER_KEY, CONSUMER_SECRET end
sessions_controller.rb
looks like:class SessionsController < ApplicationController def create raise request.env["omniauth.auth"].to_yaml end end
applications.html.erb
layout:<div id="user_nav"> <%= link_to "Sign in with Twitter", "/auth/twitter" %> </div>
So I except that when I clic on
Sign in with Twitter
link, I raises an exception showing me authentication data or requesting me Twitter autorization.
Problem:
Instead of this, it returns back this:
OAuth::Unauthorized (401 Unauthorized):
oauth (0.4.7) lib/oauth/consumer.rb:216:in `token_request'
oauth (0.4.7) lib/oauth/consumer.rb:136:in `get_request_token'
omniauth-oauth (1.0.1) lib/omniauth/strategies/oauth.rb:29:in `request_phase'
omniauth-twitter (0.0.15) lib/omniauth/strategies/twitter.rb:63:in `request_phase'
omniauth (1.1.3) lib/omniauth/strategy.rb:207:in `request_call'
omniauth (1.1.3) lib/omniauth/strategy.rb:174:in `call!'
omniauth (1.1.3) lib/omniauth/strategy.rb:157:in `call'
omniauth (1.1.3) lib/omniauth/builder.rb:48:in `call'
What is wrong here?