콘텐츠로 이동

로그인 유지(SSO) 구현

로그인 유지(SSO) 는 유저가 동일 프로젝트 내에서 커뮤니티나 웹상점과 같이 웹 로그인이 필요한 다른 웹 사이트에 로그인 시, 추가적인 웹 로그인 없이 유저의 로그인 상태를 유지할 수 있는 기능입니다.

Note

로그인 유지(SSO) 처리 조건

로그인 유지(SSO) 기능을 구현하려면 아래의 조건을 모두 충족해야 합니다.

  • 로그인 검증 성공
  • 동일한 프로젝트 내에서 로그인한 유저
  • PlayerID가 생성된 유저

로그인 유지(SSO) 구현하기

로그인 유지(SSO) 기능은 아래와 같은 순서대로 구현할 수 있습니다.

  1. 로그인 검증 및 유저 정보 조회 API 검증에 성공하면, 응답 값의 JWT(user_info.access_token) 값을 동일 프로젝트 내 웹 로그인이 필요한 다른 웹 사이트에 전달합니다.
  2. 전달받은 사이트에서 공개키(Public Key)를 사용해 JWT의 Signature를 검증하고 만료 시간을 체크합니다. Signature 검증 및 시간 체크로직은 전달 받은 사이트 측 개발사에서 직접 구현해야 합니다.
  3. 로그인 검증에 성공하면 액세스 토큰(JWT) Payload에 포함된 user_id(PlayerID)를 확인하여 SSO 로그인 처리를 진행합니다.
    SSO 로그인 처리가 성공하려면 아래의 조건을 모두 충족해야 합니다.
    • JWT의 Signature 검증 성공
    • JWT가 만료되지 않음
    • JWT의 Payload에 포함된 user_id(PlayerID)와 개발사에 저장된 PlayerID가 일치