2017-11-22 12 views
0

현재 사용중인 팝업 모드와 달리 FirebaseUI를 리디렉션 모드로 사용하고 싶습니다. 하지만 별도의 전용 로그인 URL을 갖고 싶지는 않습니다. 대신 사용자가 URL (FirebaseUI의 UI 컨테이너로 사용자 정의 대화 상자 사용)에서 로그인 할 수 있기를 바랍니다.전용 로그인 페이지가없는 리디렉션 모드에서 FirebaseUI를 사용하는 방법은 무엇입니까?

내가 마주 치게되는 문제는 로그인 프로세스를 시작할 때 대화 상자를 표시하고 사용자가 인증 공급자를 선택하고 인증 웹 사이트로 리디렉션되지만 내 웹 사이트의 원래 URL로 리디렉션된다는 것입니다.

UI 컨테이너 대화 상자가 표시되지 않고 firebaseUI.start()이 호출되지 않습니다. 웹 페이지가 사용자가 로그인 중임을 알지 못하기 때문입니다. 그 결과 아무 일도 일어나지 않습니다. 사용자가 로그인 프로세스.

첫 번째 리디렉션을위한 URL을 지정할 수있는 방법이 있습니까? 나는 마지막으로 signInSuccessUrl 설정 매개 변수에 대해 말하는 것이 아니라 처음으로 내 웹 사이트로 다시 리디렉션하는 것과 비슷한 것입니까?

그런 식으로 사용자가 로그인 프로세스를 표시 할 수 있도록 로그인 프로세스 중간에있는 플래그 또는 그와 함께 로그인 프로세스를 시작한 원래 URL을 보낼 수 있습니다. UI 컨테이너를 열고 firebaseUI.start()으로 전화하여 마지막 리디렉션을 수행하십시오.

답변

0

모든 URL에서 FirebaseUI를 시작할 수 있지만 기본 signInWithRedirect은 항상 동일한 URL로 돌아갑니다. 리디렉션시 start을 호출하면 로그인이 완료됩니다. 로그인 UI를 항상 표시하지 않는 조건이있는 경우 sessionStorage에 저장하는 일부 플래그 pendingRedirect을 사용하고 UI를 렌더링하기 전에 확인하여 로그인을 완료 할 수 있습니다. 에 반환합니다. 렌더링 후에이를 지울 것입니다.

+0

감사합니다. 안전하지 않을 수 있기 때문에이 기능이 누락 되었습니까? 첫 번째 인증 단계 후에 완전히 다른 URL을 지정한다는 의미입니까? 첫 번째 리디렉션 후에도 URL에 전달할 추가 쿼리 문자열 매개 변수를 적어도 지정할 수 있으면 편리하지 않습니까? 아니면 그냥 나야 ... – BadCash

+0

사실 FirebaseUI는 이미 비슷한 방식으로 보류 중 상태를 추적합니다. 그들은 단지 폭로하지 않습니다. 폭로하는 좋은 기능처럼 보입니다. 프로세스를 시작할 때 #hash 매개 변수를 추가하여이를 감지 할 수도 있습니다. 왜 그것이 안전하지 않을지 모르겠다. – bojeil