0

으로 omniauth-facebook 보석을 통합했습니다. 등록을하고 로그인하여 작동하지만 RegistrationsController의 facebook 콜백 메소드 (예 : 사용자가 가입 프로세스를 시작한 url)에 추가 매개 변수를 전달하는 방법을 파악할 수 없습니다.Omniauth/Facebook 로그인 요청을 통해 매개 변수를 전달하는 방법은 무엇입니까?

매개 변수 초기 등록 정보에 포함 된 매개 변수 (예 : localhost:3000/auth/facebook?url="url")는 내 등록 컨트롤러에서 내 facebook 메서드로 전달되지 않습니다.

ERB 링크

<%= link_to "fb", facebook_omniauth_path(url: "url") %> 

루트

get 'auth/facebook', as: 'facebook_omniauth' 
get 'auth/facebook/callback' => 'registrations#facebook' 

컨트롤러

def facebook 
    @user = User.from_omniauth(request.env["omniauth.auth"]) 
    if @user.persisted? 
     redirect_to root_path 
    else 
     session["devise.facebook_data"] = request.env["omniauth.auth"] 
     redirect_to new_user_registration_url 
    end 
    end 

사람이 알고 있나요 내 facebook 메소드에서 url 매개 변수를 사용할 수 있습니까?

답변

2

omniauth.auth에는 기본적으로 추가 매개 변수가 표시되지 않습니다. 아래처럼 url 값을 검색하려면 omniauth.params을 사용해야합니다.

request.env["omniauth.params"]["url"] 
+0

저기 있습니다! 이걸 어디에서 배웠는지 물어봐도 될까요? 나는 이것에 대해 문서에서 아무것도 찾을 수 없었다. –

+1

제대로 문서화되어 있지 않습니다. 나는 SO 답을 들여다 보았다. – Pavan

관련 문제