मुझे ट्विटर के साथ बुनियादी omniauth प्रमाणीकरण पर 2 दिनों के लिए सड़क अवरुद्ध कर दिया गया है। मैंने सरल ओमनीथ पर रयान बेट्स के रेलवे के साथ पीछा किया, लेकिन जब मैं लॉग इन करने का प्रयास करता हूं तो ओएथ :: अनधिकृत 401 अपवाद को पीछे छोड़ने में असमर्थ रहा है। कृपया मदद करें!रेल में ओमनीउथ-ट्विटर: ओएथ :: अनधिकृत 401
twitter info:
website: [http://127.0.0.1:3000]
callbarck url: [http://127.0.0.1:3000/auth/twitter/callback]
//routes.rb
Sentimentalist::Application.routes.draw do
resources :dashboard, only: [:index]
resources :welcome
root :to => 'welcome#index'
match '/auth/twitter/callback', to: 'sessions#create'
match "/signout" => "sessions#destroy", :as=>:signout
match ':controller(/:action(/:id))(.:format)'
end
//application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>Sentimentalist</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<% yield(:head) %>
</head>
<body>
<div id="container">
<div id="user_nav">
<% if current_user %>
Welcome <%= current_user.name %>!
<%= link_to "Sign Out", signout_path %>
<% else %>
<%= link_to "Sign in with Twitter", "/auth/twitter" %>
<% end %>
</div>
</div>
<%= yield %>
</body>
</html>
// config/initializers/omniauth.rb
: मेरे कोड के नीचे चिपकाया जाता हैRails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, '###', '###'
end
// सत्र_controller.rb
def create
auth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) ||User.create_with_omniauth(auth)
session[:user_id] = user.id
redirect_to root_url, :notice => "Signed in!"
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Signed out!"
end
कॉलबैक के लिए दुर्भाग्य से चहचहाना छोटा अस्वीकृत कर देता यूआरएल :( – user2040608
@ user2040608 मुझे ऐसा नहीं लगता है? वैसे भी, http://stackoverflow.com/questions/800827/twitter-oauth-callbackurl-localhost-development – oldergod
काम किया मेरे लिए! धन्यवाद! – CloudRide