이번 프로젝트를 진행히면서 소셜 로그인(애플 로그인) 파트를 맡게 되었다. 그래서 프로젝트를 진행하면서 학습한 애플 로그인부터 탈퇴까지의 흐름에 대해 정리해 보았다.

0. Apple OAuth 흐름

image.png

Apple OAuth의 전체 적인 흐름은 다음과 같다.

  1. 클라이언트에서 서버에 회원 가입 요청(Identity Token 등 포함)
  2. 애플 서버에 public key 요청
  3. 애플 서버에서 public key 응답
  4. 받은 public key로 Identity Token 서명 검증 → account id 획득
  5. client_secret 생성
  6. 애플 서버에 토큰 요청
  7. access, refresh 토큰 응답

우리 서비스는 애플의 refresh token은 검증 후 유효 기간이 없어서 자체 JWT 토큰을 사용하였다.

애플에서 발급 받은 토큰을 사용하지 않기 때문에 그림의 1~4까지의 과정으로 id Token을 검증한 후 얻은 애플 고유 id로 회원가입을 진행해주었다.

애플 로그인에 들어가기 앞서 주의 깊게 봐야 할 부분은 바로 Identity Token(Id Token)authorizationCode 이다.