0

ユーザーが LinkedIn で正常に認証され、LinkedIn プロファイル データをインポートできるようにする Rails アプリケーションを実行しています。私が抱えている (大きな) 問題は、最初にサインインした 1 人のユーザーに関連付けられた Cookie データが、サインアウトした後も保持され、LinkedIn を介して認証された後、別の別のユーザーに取り込まれることです。最初のユーザーのデータが 2 番目のユーザーのデータを上書きします...大きな問題です。

助けていただければ幸いです。

ここに私のsessions_controllerがあります:

class SessionsController < ApplicationController

    def new
    end

    def create
        if env['omniauth.auth']
            user = User.from_omniauth(env['omniauth.auth'])
            session[:user_id] = user.id
        redirect_to auth_path
        flash[:success] = 'Signed in with LinkedIn.'
        else
            user = User.find_by_email(params[:session][:email])
            if user && user.authenticate(params[:session][:password])
                sign_in user
                redirect_back_or user
                flash[:success] = 'Signed in the old-fashioned way.'
            else
                flash.now[:error] = 'Invalid email/password combination'
                render 'new'
            end         
        end
    end

    def destroy
        cookies.delete(:remember_token)
        session[:user_id] = nil
        redirect_to root_path
    end
end
4

1 に答える 1

0

私はまったく同じ問題を抱えていました。omn​​iauth構成のどこかに、ユーザーがリダイレクトされるパス構成が必要です。

https://api.linkedin.com/uas/oauth/authenticateの

後-これによりすべてが修正され、同じコンピューター上の新しいユーザーが最後のユーザーのLinkedIn Cookieを自動的に使用しないように、コントローラーアクションの実行時に常に認証が必要になりました。 https://www.linkedin.com/uas/oauth/authorize

于 2012-10-24T03:03:49.710 に答える