커스텀 계정 로그인 활용 가이드
커스텀 계정 로그인은 앱이 이미 운영 중인 회원 시스템의 계정으로 사용자를 로그인시키는 방법입니다. Google이나 Apple 같은 외부 인증 제공자를 거치지 않고 앱이 직접 사용자를 인증하므로, 앱 클라이언트뿐 아니라 앱 서버도 로그인 과정에 참여합니다.
구현하려면 Hive 콘솔 설정, Hive Axyl 서버 API 호출, Hive Axyl SDK 초기화, 레시피 코드 호출, 앱 서버와 앱 클라이언트 구현을 조합해야 합니다. 레시피 코드를 사용하면 로그인에 필요한 Hive Axyl SDK 호출 세 가지를 레시피 메서드 하나로 대신합니다.
구현 범위
커스텀 계정 로그인을 구현하는 데 필요한 작업은 Hive 콘솔에서 보안 키를 확인하는 것에서 시작해, 로그인 결과에 맞는 화면을 띄우는 것으로 끝납니다.
각 단계의 작업은 아래 여섯 가지 구분 중 하나에 해당합니다.
| 구분 | 담당 | 내용 |
|---|---|---|
| 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 인증 서버로 보내지 않습니다. 대신 앱 서버가 사용자를 인증한 뒤 Hive Axyl 서버에서 grant key를 발급받아 앱 클라이언트에 전달하고, 앱 클라이언트는 그 grant key만으로 로그인합니다.
grant key는 "이 사용자의 로그인을 앱 서버가 승인했다"는 사실을 증명하는 사전 인증 키입니다. 사용자의 인증 정보가 앱 클라이언트를 거치지 않으므로 그만큼 노출 위험이 줄어듭니다.
grant key는 발급 후 60초 동안만 유효하고 한 번만 사용할 수 있습니다. 앱 서버는 사용자가 로그인을 시도하는 시점에 하나씩 발급해 전달해야 합니다. 전체 동작 순서는 커스텀 계정 로그인 흐름을 참조하세요.
레시피
Hive Axyl SDK는 로그인 기능을 세분화된 메서드로 제공합니다. grant key로 로그인하는 메서드, 토큰을 발급하는 메서드, 세션을 활성화하는 메서드가 각각 따로 있습니다. 사용자 한 명을 로그인시키는 데에도 호출 순서와 중간 실패 처리를 앱이 직접 조합해야 합니다.
레시피는 그 조합을 미리 완성해 둔 소스 코드입니다. 패키지가 아니라 프로젝트에 복사해서 사용합니다.
| 구분 | 위치 | 성격 |
|---|---|---|
| Hive Axyl SDK | Unity 패키지 com.com2usplatform.hiveaxyl.* | 설치해서 사용합니다. 인증 기능을 세분화된 메서드로 제공합니다. |
| 레시피 | Assets/Recipes/CustomLogin/ | 복사해서 사용합니다. SDK 호출을 목적 단위로 묶은 순수 C# 코드입니다. |
| 사용 예제 | Assets/RecipeExamples/Authentication/CustomLoginExample.cs | 읽고 참고하는 코드입니다. 레시피 호출 순서와 결과별로 앱이 구현해야 할 부분을 주석으로 설명합니다. |
레시피는 복사해서 사용하는 코드입니다
레시피는 앱에 복사되어 앱의 코드가 됩니다. 그대로 사용해도 되고 앱 정책에 맞게 수정해서 사용해도 됩니다.
앱이 직접 구현하는 부분
레시피는 grant key를 받은 다음부터 세션이 준비될 때까지만 대신 처리합니다. 아래 항목은 레시피 밖에서 앱이 구현합니다.
- 앱 서버의 사용자 인증과 사용자 식별자 관리
- 앱 서버의 grant key 발급 호출과 앱 클라이언트로의 전달
- 로그인 화면과 로그인 후 화면 전환
DeviceKey의 생성과 보관- 실패했을 때의 재시도 정책과 사용자 안내 메시지
공통 사전 준비
구현을 시작하기 전에 아래 항목을 먼저 준비하세요.
| 준비 항목 | 필수 여부 | 구분 | 확인할 곳 |
|---|---|---|---|
| 프로젝트 생성 | 필수 | Hive 콘솔 | 프로젝트 생성 |
| App ID 생성 | 필수 | Hive 콘솔 | App ID 생성 |
| Unity 프로젝트에 SDK 연결 | 필수 | Hive Axyl SDK | Unity 프로젝트에 SDK 연결 |
App ID는 SDK를 초기화할 때 입력하는 값이므로 먼저 생성해야 합니다. SDK를 연결해 두어야 이어지는 단계에서 인증 모듈을 설치합니다.
앱 서버도 두 가지를 갖추어야 합니다. 사용자를 인증할 수 있는 자체 인증 체계가 있어야 하고, 인증한 사용자를 구분하는 식별자를 Hive Axyl에 전달할 수 있어야 합니다. 이 식별자는 사용자 한 명에 하나씩 고정되는 값이어야 다음 로그인에서 같은 계정으로 이어집니다.
다음 단계
사전 준비를 마쳤다면 커스텀 계정 로그인 구현하기를 시작하세요.