У меня проблемы с подключением свободного конца в oauth и authlogic.Я запускаю rails 3.0.9 с authlogic, работающим нормально, и я хотел добавить в твиттер логин.
Проблема, с которой я сталкиваюсь, заключается в том, что после входа в твиттер вместо того, чтобы быть перенаправленным на обратный URL-адрес, определенный в настройках твиттера.Приложение перенаправляет на верхний домен, добавляя его к URL-адресу user_sessions? Oauth_token = [t_o_k_e_n]
У меня нет действия с индексом в user_sessions_controller.rb, поэтому я получаю, что индекс действия не может быть найден,но я не могу понять, почему меня перенаправляют на этот URL?
Мой user_sessions.rb
class UserSession < Authlogic::Session::Base
# def to_key
# new_record? ? nil : [ self.send(self.class.primary_key) ]
# end
#
# def persisted?
# false
# end
#
def self.oauth_consumer
OAuth::Consumer.new("asdasdsad", "asdasdasdas",
{ :site=>"http://twitter.com",
:authorize_url => "http://twitter.com/oauth/authenticate"})
end
end
Мой user_sessions_controller.rb
class UserSessionsController < ApplicationController
# GET /user_sessions/new
# GET /user_sessions/new.xml
def new
@user_session = UserSession.new
end
# POST /user_sessions
# POST /user_sessions.xml
def create
@user_session = UserSession.new(params[:user_session])
@user_session.save do |result|
if result
flash[:notice] = "Login successful!"
redirect_back_or_default root_path
else
render :action => :new
end
end
# respond_to do |format|
# if @user_session.save
# format.html { redirect_to(root_path, :notice => 'User session was successfully created.') }
# format.xml { render :xml => @user_session, :status => :created, :location => @user_session }
# else
# format.html { render :action => "new" }
# format.xml { render :xml => @user_session.errors, :status => :unprocessable_entity }
# end
# end
end
# DELETE /user_sessions/1
# DELETE /user_sessions/1.xml
def destroy
@user_session = UserSession.find
@user_session.destroy
respond_to do |format|
format.html { redirect_to(root_path, :notice => 'Goodbye!') }
format.xml { head :ok }
end
end
end
Я дажепопытался добавить
:oauth_callback => "http://127.0.0.1:3000/"
в предложение Consumer.new, но это не помогло.
Наконец, мой route.rb выглядит следующим образом:
resources :users, :user_sessions
match 'login' => 'user_sessions#new', :as => :login
match 'logout' => 'user_sessions#destroy', :as => :logout
У кого-нибудь есть идеи, как решить эту проблему, или у вас была похожая проблема?