Globa-Seoil-Univ / globa-android

2024년 졸업작품 Globa 앱 Front입니다.
MIT License
0 stars 0 forks source link

[BUG] 자동 로그인 처리가 지원되지 않습니다. feat. AccessToken 갱신 #6

Closed seungyong closed 3 days ago

seungyong commented 1 week ago

어떤 버그가 발생했나요?

어떤 버그인지 간단하게 설명해주세요.

자동 로그인 처리가 이루어지지 않습니다. 앱이 켜질 때마다 로그인을 시도합니다. 또한, Refresh Token을 사용하여 만료된 AccessToken을 갱신해야 합니다.

버그를 재현하기 위한 순서를 작성해주세요.

버그가 발생하는 실행 순서를 자세히 설명해주세요.

  1. 앱 로그인
  2. 앱 종료
  3. 앱 켜기

기대 결과

정상적으로 이루어졌을 때 어떤 동작을 기대하고 있나요?

  1. 이미 AT, RT를 가지고 있다면 로그인이 이루어져야 합니다.
  2. 만료된 AT(만료된 토큰 에러 반환 등)가 있다면 RT를 사용하여 토큰을 갱신해야 합니다.
HaeBun commented 4 days ago

hotfix-kit-1.0.1 버전에 다음과 같이 반영했습니다.

refreshToken 으로 신규 AT, RT를 발급받기를 시도했지만 에러발생으로 발급까지 확인할 수 없었습니다.

에러 색출을 위해 다음과 같은 순서로 탐색했습니다.

  1. /auth 로 refreshToken 전송 : path 불일치
  2. /user/auth 로 refreshToken 전송 : path 일치, 오류 발생
  3. Swagger 명세에 인자를 3개 필요로 함 : 내용과 달라 requestToken 전송
  4. Header에 authorization ("Bearer "+accessToken)필요로 하여 헤더 추가
  5. Spring 로직 확인 : UserController의 authUser 메서드 > 인자값 requestTokenMap 에서 "requestToken" 을 조회함
  6. /user/auth 로 "requestToken" 이름 변경하여 전송 : UserService의 reloadRefreshToken 메서드 > expiredTime 을 확인하는 구간에서 오류 발생
HaeBun commented 3 days ago

자동 로그인은 v1.0.2 에서 처리되었습니다.

하여 RT 재발급 로직 처리시 - AT 만료 시 로직에 추가하도록 하겠습니다.

RT 재발급 로직은 아래 이슈에서 진행하겠습니다.

16