2011-09-07 58 views
0

我在连接oauth和authlogic中的松散结束时遇到了问题。 我正在运行轨道3.0.9与authlogic工作正常,我想添加在twitter登录。OAuth与authlogic和twitter。无法正确重定向

是我遇到的问题是在Twitter上登录后,而不是被重定向到再打Twitter的开发设置中定义的URL。该应用程序重定向到顶级域名,而这个附加到URL user_sessions?的oauth_token = [t_o_k_e_n]

我没有在user_sessions_controller.rb index动作,所以我得到的动作指数找不到错误,但我无法解释为什么我被重定向到这个网址?

我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条款,但没有帮助。

最后,我的routes.rb看起来是这样的:

resources :users, :user_sessions 
    match 'login' => 'user_sessions#new', :as => :login 
    match 'logout' => 'user_sessions#destroy', :as => :logout 

任何人有关于如何解决此或有类似的问题的任何想法?

回答

相关问题