Search
Duplicate

OAuth 로그인시 간헐적 Exception 발생

분야
BE
ISSUE
주제
BE
심각도
높음🔥
제보자
seonghyu
담당자
작성자
상태
처리 완료
이슈링크(optional)
작성일자
2023/05/08 08:11
공개여부
공개
글감

확인 시각

2023.
05. 07. 오후 2시 경

이슈

이슈 내용
Nest의 Passport와 Guard를 이용한 OAuth2 인증 처리 과정에서 발생하는 Exception이 AuthFilter로 핸들링이 안 되는 문제.
영향 해당 exception이 발생하는 상황에서, 유저는 반복적으로 로그인이 불가능한 상황.
원인 (제보 및 추측) 특정 브라우저(모바일)에서 HTTPS로만 브라우징하게끔 하는 설정을 켠 경우, 로그인 버튼 이후에 OAuth API에서 HTTP로 리디렉션 하는 경우에 발생하는 것으로 추정 됨.

조치 내용

기존에 Unauthorized(401)만 catch하던 Exception Filter를 다른 Exception들도 catch하게 끔 변경해보았으나, 해당 필터에서 핸들링 되지 않는 것을 확인 → 근본적으로 추상화 되어 있는 Passport나 Guard의 경우에서 컨트롤 할 수 없는 에러가 발생하는 것으로 추정.
기존의 HTTPS로만 설정된 redirection 주소들에 HTTP도 추가해야하는가?

해결 시각

Passport 자체의 문제여서 추적하기가 어렵고, Spring으로 포팅하는 것이 이미 확정적이기 때문에, 부득이하게 처리하지 않고 스킵하기로 하였다.

참고자료