자동 로그인 활용 가이드
이전에 로그인한 사용자가 앱을 다시 실행했을 때 로그인 화면을 거치지 않고 바로 앱에 들어가게 하려면 Hive 콘솔 설정, Hive Axyl SDK 호출, 레시피 코드 호출, 앱 코드를 조합해야 합니다. 레시피 코드를 사용하면 세션을 되살리는 데 필요한 Hive Axyl SDK 호출이 메서드 하나로 줄어듭니다.
구현 범위
자동 로그인을 구현하는 데 필요한 작업은 Hive 콘솔에서 Client ID를 확인하는 것에서 시작해, 앱을 다시 실행했을 때 저장해 둔 인증 정보로 세션을 되살리고 앱 화면으로 이동하는 것으로 끝납니다.
각 단계의 작업은 아래 여섯 가지 구분으로 나뉩니다. 한 단계가 두 구분에 걸치기도 합니다.
| 구분 | 담당 | 내용 |
|---|---|---|
| Hive 콘솔 | 앱 운영자 | Hive 콘솔에서 수행하는 설정입니다. |
| Hive Axyl SDK | 앱 개발자 | 앱에서 호출하는 Hive Axyl SDK 메서드입니다. |
| 레시피 코드 | 앱 개발자 | 앱에서 호출하는 레시피 메서드입니다. |
| 앱 코드 | 앱 개발자 | Hive Axyl을 거치지 않고 앱이 직접 구현하는 부분입니다. |
| Hive Axyl 서버 API | 앱 서버 개발자 | 앱 서버에서 호출하는 Hive Axyl 서버 API입니다. |
| 앱 서버 | 앱 서버 개발자 | 앱 서버가 자체 로직으로 처리하는 부분입니다. |
자동 로그인에는 Add-on 호출이 없습니다. Add-on은 외부 인증 제공자의 인증 화면을 표시하는 Hive Axyl SDK 확장 패키지입니다. 자동 로그인은 저장해 둔 토큰으로 세션만 복원하므로 사용자를 다시 인증할 필요가 없습니다. 파라미터의 의미와 응답 필드는 각 단계에서 연결한 상세 절차를 참조하세요.
레시피
Hive Axyl SDK는 세션 복원 기능을 세분화된 메서드로 제공합니다. 저장한 액세스 토큰으로 로그인하는 메서드, 리프레시 토큰으로 새 토큰을 발급하는 메서드, 세션을 활성화하는 메서드가 각각 따로 있습니다. 사용자 한 명의 세션을 복원하려면 어느 토큰을 쓸지 판단하는 규칙과 호출 순서, 중간 실패 처리를 앱이 직접 조합해야 합니다.
레시피는 그 조합을 미리 완성해 둔 소스 코드입니다. 패키지가 아니라 프로젝트에 복사해서 사용합니다.
| 구분 | 위치 | 성격 |
|---|---|---|
| Hive Axyl SDK | Unity 패키지 com.com2usplatform.hiveaxyl.* | 설치해서 사용합니다. 인증 기능을 세분화된 메서드로 제공합니다. |
| 레시피 | Assets/Recipes/AutoLogin/ | 복사해서 사용합니다. SDK 호출을 목적 단위로 묶은 순수 C# 코드입니다. |
| 사용 예제 | Assets/RecipeExamples/Authentication/AutoLoginExample.cs | 읽고 참고하는 코드입니다. 레시피 호출 순서와 결과별로 앱이 구현해야 할 부분을 주석으로 설명합니다. |
레시피는 복사해서 사용하는 코드입니다
레시피는 앱에 복사되어 앱의 코드가 됩니다. 그대로 사용해도 되고 앱 정책에 맞게 수정해서 사용해도 됩니다.
레시피 소스를 프로젝트에 복사할 수 없는 앱은 Hive Axyl SDK 메서드를 직접 호출해 같은 흐름을 구현합니다. 단계별 호출 방법은 자동 로그인을 참조하세요.
자동 로그인과 토큰 자동 갱신의 차이
두 기능은 이름이 비슷하지만 동작하는 시점이 다릅니다. 자동 로그인은 앱을 다시 실행해 세션이 아예 없는 상태에서 필요하고, 토큰 자동 갱신은 세션이 살아 있는 동안 필요합니다. 이 가이드는 자동 로그인을 다룹니다.
| 기능 | 동작 시점 | 처리 주체 |
|---|---|---|
| 자동 로그인 | 앱을 다시 실행해 세션이 없는 상태 | 앱이 저장해 둔 인증 정보를 레시피에 전달해 세션을 새로 만듭니다. |
| 토큰 자동 갱신 | 세션이 살아 있고 액세스 토큰만 만료된 상태 | Hive Axyl SDK가 세션의 리프레시 토큰으로 새 토큰을 받아 세션을 유지합니다. |
레시피가 담당하는 것은 자동 로그인뿐입니다. 토큰 자동 갱신은 Hive Axyl SDK가 처리하며, 앱은 이 기능을 한 번 켜 두고 토큰이 갱신되거나 세션이 끝날 때 저장 값을 교체하거나 지웁니다. 켜는 방법은 액세스 토큰 자동 갱신 활성화에서 안내합니다.
앱이 직접 구현하는 부분
레시피는 세션 복원 호출만 대신합니다. 아래 항목은 레시피 밖에서 앱이 구현합니다.
- 액세스 토큰, 리프레시 토큰, Player ID의 저장, 불러오기, 삭제
- 토큰 갱신과 세션 종료 시점의 저장 값 교체와 삭제
- 앱 시작 화면과 로그인 화면 사이의 전환
- 실패했을 때의 재시도 정책과 사용자 안내 메시지
공통 사전 준비
구현을 시작하기 전에 아래 항목을 먼저 준비하세요.
| 준비 항목 | 필수 여부 | 구분 | 확인할 곳 |
|---|---|---|---|
| 프로젝트 생성 | 필수 | Hive 콘솔 | 프로젝트 생성 |
| App ID 생성 | 필수 | Hive 콘솔 | App ID 생성 |
| Unity 프로젝트에 SDK 연결 | 필수 | Hive Axyl SDK | Unity 프로젝트에 SDK 연결 |
| 로그인 구현 | 필수 | 레시피 코드, 앱 코드 | 게스트 로그인 활용 가이드, 유저네임 로그인 활용 가이드, 커스텀 계정 로그인 활용 가이드, Google 로그인 활용 가이드, Apple 로그인 활용 가이드, Google Play Games 로그인 활용 가이드, Steam 로그인 활용 가이드, X 로그인 활용 가이드 |
자동 로그인이 복원하는 인증 정보는 로그인 과정에서 만들어집니다. 앱에 로그인 수단이 하나도 구현되어 있지 않으면 저장할 값이 생기지 않으므로 로그인을 먼저 구현하세요.
다음 단계
사전 준비를 마쳤다면 자동 로그인 구현하기를 시작하세요.