2017-05-09 17 views
0

저는 레일즈 애플리케이션을 만들고 'devise'보석과 'devise_saml_authenticable'보석을 사용하여 Okta 싱글 사인온을 성공적으로 구현했습니다. 모든 것이 훌륭하게 작동하고 있으며 Okta 계정을 사용하여 앱에 성공적으로 로그인 할 수 있습니다.응용 프로그램에 사용자 계정이없는 경우 Okta는 무한 루프에 머물러 있습니다.

내가 직면 한 한 가지 문제는 사용자가 Okta 계정이 있지만 응용 프로그램 내 계정이없는 사용자가 로그인하면 끝없는 리디렉션 루프가 발생한다는 것입니다. 대신 사용자를 로그인 오류 메시지 나 페이지로 리디렉션하는 방법은 무엇입니까?

+0

공유하여 model..are 당신은 어떤 콜백을 사용하여 :

이 위키의 지시에 따라 내가 고안의 기본 리디렉션을 변경했다이 문제를 해결하려면? 정확한 오류를 공유하십시오. –

+0

공유 할 수있는 코드가 있으면 도움이됩니다. –

답변

2

사실, 문제의 원인을 발견했습니다. 사용자가 성공적으로 인증 할 수없는 경우 (즉, 401 오류) 사용자가 로그인 페이지 (http://localhost:3000/users/sign_in)로 다시 리디렉션하도록 기본 설정되어 있기 때문입니다. 사용자가 Okta에 로그인 한 경우 sign_in 경로로 리디렉션되면 Okta 인증을 다시 시도하여 무한 루프가 발생합니다. https://github.com/plataformatec/devise/wiki/How-To%3a-Redirect-to-a-specific-page-when-the-user-can-not-be-authenticated