2016-08-31 3 views
0

私はRails 4.2.7とomniauthを使用しています。私はRailsでは、omniauthでログインが成功した後に元のページに戻すにはどうすればいいですか?

<div id="loginLogos"> 
      <%= link_to image_tag("google_plus_icon.jpg", :border => 0, :alt => 'Google'), '/auth/google' %> 
      <%= link_to image_tag("facebook.png", :border => 0, :alt => 'Facebook'), '/auth/facebook' %> 
      <%= link_to image_tag("twitter_icon.png", :border => 0, :alt => 'Twitter'), '/auth/twitter' %> 
      <%= link_to image_tag("linkedin.png", :border => 0, :alt => 'LinkedIn'), '/auth/linkedin' %> 
    </div> 

誰か正常にsigns後、私は彼らが上記の部分を生み出しページに戻ってredirectedされるように希望この部分は、マイページのカップルに含まれています。別の答えで、私はこの方法が必要だと読んでいます。

def store_return_to 
    session[:return_to] = request.url 
end 

しかし答えはどこに置くべきかを指定していません。アプリケーションコントローラ、または部分I参照をレンダリングするビューを提供するすべてのコントローラにそれを含める必要がありますか?

答えて

0

必ずイニシャライザでコールバックを指定してください。 Facebookのための例えば :

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, "app_id", "app_secret", 
    scope: 'public_profile,email,manage_pages,pages_show_list', info_fields: 'id,name,link', display: 'popup', callback_path: '/stores/facebook_callback' 

end 

とルートに追加することを忘れないでください。)

+0

私はあなたの答えを理解していませんよ。 "/ stores/facebook_callback"はどこに定義されていて、その内容は何ですか? – Dave

+0

あなた自身で定義したカスタムアクションです(必要に応じて名前を付けることができます)。認証後の応答はそこで処理されます。 –

関連する問題