로그인 유지(SSO) 구현
로그인 유지(SSO) 는 유저가 동일 프로젝트 내에서 커뮤니티나 웹상점과 같이 웹 로그인이 필요한 다른 웹 사이트에 로그인 시, 추가적인 웹 로그인 없이 유저의 로그인 상태를 유지할 수 있는 기능입니다.
Note
- 로그인 유지(SSO)는 하이브 웹 로그인에서 제공하는 로그인 검증 및 유저 정보 조회 API 응답값을 활용해 개발사에서 자체적으로 구현해야 합니다.
- 로그인 유지(SSO) 처리는 로그인 검증 및 유저 정보 조회 API를 요청하여 로그인 검증 성공 후 에 진행되도록 구현해야 합니다.
로그인 유지(SSO) 처리 조건¶
로그인 유지(SSO) 기능을 구현하려면 아래의 조건을 모두 충족해야 합니다.
- 로그인 검증 성공
- 동일한 프로젝트 내에서 로그인한 유저
- PlayerID가 생성된 유저
로그인 유지(SSO) 구현하기¶
로그인 유지(SSO) 기능은 아래와 같은 순서대로 구현할 수 있습니다.
- 로그인 검증 및 유저 정보 조회 API 검증에 성공하면, 응답 값의 JWT(user_info.access_token) 값을 동일 프로젝트 내 웹 로그인이 필요한 다른 웹 사이트에 전달합니다.
- 전달받은 사이트에서 공개키(Public Key)를 사용해 JWT의 Signature를 검증하고 만료 시간을 체크합니다. Signature 검증 및 시간 체크로직은 전달 받은 사이트 측 개발사에서 직접 구현해야 합니다.
- 공개키(Public Key)는 Hive 콘솔 앱센터 > 보안 키 설정에서 해당 프로젝트를 검색하여 확인할 수 있습니다.
- 로그인 검증에 성공하면 액세스 토큰(JWT) Payload에 포함된
user_id
(PlayerID)를 확인하여 SSO 로그인 처리를 진행합니다.
SSO 로그인 처리가 성공하려면 아래의 조건을 모두 충족해야 합니다.- JWT의 Signature 검증 성공
- JWT가 만료되지 않음
- JWT의 Payload에 포함된 user_id(PlayerID)와 개발사에 저장된 PlayerID가 일치