주요 콘텐츠로 건너뛰기

복합 인증

개요

Aghanim은 복합 인증(Composite Authorization) 방식을 통해 플레이어를 인증하는 방법을 제공합니다. 이 방식에서는 Player Identity가 하나 이상의 필드로 구성 가능하며, 이를 조합하여 플레이어를 고유하게 식별합니다. 이 방법을 사용하면 게임 허브에서 사용자 정의 로그인 폼을 구성하여 플레이어가 신원을 인증하기 위해 여러 식별자를 입력하도록 할 수 있습니다.

예를 들어, 다음과 같은 필드를 가진 복합 인증을 구성할 수 있습니다:

  • account_id
  • server_id
  • character_id
경고

위에 나열된 매개변수는 예시이며, 실제 매개변수는 특정 구현에 따라 다를 수 있습니다.

전제 조건

  • Aghanim 계정에 대한 액세스 권한.
  • 플레이어 신원을 생성하고 관리할 수 있는 관리자 권한.
  • 게임 → 설정에서 복합 User ID 로그인 유형 구성 완료.

1단계: 부분적 신원을 위한 player.lookup 웹훅 처리

Aghanim이 일부 복합 인증 필드와 함께 Lookup Player 웹훅을 서버로 보내면, 서버는 나머지 Player Identity 필드를 응답하여 해당 일부 필드와 관련된 플레이어를 인증할 수 있습니다.

웹훅 요청 예시:

{
"account_id": "123456"
}

웹훅 응답 예시:

{
"status": "ok",
"data": [
{
"name": "PlayerOne",
"avatar_url": "https://example.com/avatar1.png",
"player": {
"account_id": "123456",
"server": {"id": "gerund-23", "name": "Gerund 23"},
"character_id": "4tgk-kj8xz"
},
},
{
"name": "PlayerTwo",
"avatar_url": "https://example.com/avatar2.png",
"player": {
"account_id": "123456",
"server": {"id": "goron-73", "name": "Goron 73"},
"character_id": "4d4r-iopb2"
},
},
]
}

실패 응답 예시:

200 상태 코드로 응답하고, 아래의 JSON을 반환합니다:

{
"status": "error",
"code": "not_found",
"message": "Account not found"
}

가능한 오류 코드 목록:

  • not_found: 계정/플레이어를 찾을 수 없음.
  • invalid_signature: 서명이 유효하지 않습니다.
  • validation_error: 요청 데이터가 유효하지 않았습니다.
  • banned: 계정/플레이어가 차단되었습니다.

서버는 Game Hub 로그인 폼에서 플레이어 인증에 필요한 나머지 복합 인증 필드를 제공하기 위해 이 웹훅을 처리해야 합니다.

2단계: 복합 인증을 위해 player.verify 웹훅 처리하기

Aghanim이 복합 인증과 함께 플레이어 검증(player.verify) 웹훅을 서버로 전송하면, 제공된 복합 인증을 사용하여 플레이어를 인증할 수 있습니다.

웹훅 요청 예시:

{
"player": {
"account_id": "123456",
"server_id": "gerund-23",
"character_id": "4tgk-kj8xz"
}
}

웹훅 응답 예시:

{
"status": "ok",
"data": {
"name": "PlayerOne",
"avatar_url": "https://example.com/avatar.png",
"attributes": {
"level": 2
},
"country": "US",
"player": {
"account_id": "123456",
"server": {"id": "gerund-23", "name": "Gerund 23"},
"character_id": "4tgk-kj8xz"
}
}
}

실패 응답 예시:

200 상태 코드로 응답하고, 아래의 JSON을 반환합니다:

{
"status": "error",
"code": "not_found",
"message": "Player not found"
}

가능한 오류 코드 목록:

  • not_found: 계정/플레이어를 찾을 수 없음.
  • invalid_signature: 서명이 유효하지 않습니다.
  • validation_error: 요청 데이터가 유효하지 않았습니다.
  • banned: 계정/플레이어가 차단되었습니다.

3단계: 자동 로그인을 위한 딥링크 구현

게임 허브에서 플레이어가 자동 로그인할 수 있도록 복합 인증 필드가 포함된 딥링크 URL을 생성합니다.

예시:

https://<GAME_HUB_URL>/go/login?account_id=123456&server_id=gerund&character_id=4tgk-kj8xz

플레이어가 이 URL을 열면 Game Hub는 제공된 복합 인증 필드를 사용하여 자동으로 플레이어를 로그인합니다.

이 선택적 단계를 구현하면, 사용자들이 자신의 관련 플레이어 신원을 더 쉽게 접근하고 관리할 수 있어, 애플리케이션에서 더욱 풍부하고 연결된 플레이어 경험을 제공할 수 있습니다.

도움이 필요하세요?
통합팀에 문의하십시오 [email protected]