인증

서버에는 기본 제공 인증이 있으므로 클라이언트는 서버 키가 있는 경우에만 요청을 보내고 연결할 수 있습니다. 기본 서버 키는 defaultkey이지만 고유한 값을 설정하는 것이 매우 중요합니다. 이 값은 클라이언트 코드에 포함되어야 합니다.

인증이 성공하면 클라이언트는 사용자로 세션을 만들 수 있습니다.

모든 사용자 계정은 인증에 사용되는 옵션 중 하나에서 생성됩니다. 사용자 계정에 액세스하는 방법이기 때문에 이러한 각 옵션을 “연결"라고 합니다. 각 계정에 하나 이상의 연결을 추가할 수 있어 사용자가 다양한 장치에서 다양한 방법으로 로그인할 수 있습니다.

인증 #

서버와 상호 작용하기 전에, 시스템 인증을 통해 세션 토큰을 얻어야 합니다. 인증 시스템은 매우 유연합니다. 이메일 주소로 사용자를 등록하고 Facebook 계정을 연결하여 다른 장치에서 로그인하는 데 사용할 수 있습니다.

기본적으로 인증에 사용된 식별자가 이전에 시스템에 없는 경우 시스템은 사용자를 자동으로 생성합니다. 이 패턴은 장치 섹션에 표시됩니다.

각 클라이언트의 등록 및 로그인을 처리하는 가장 좋은 방법에 대한 모든 예를 보려면 가이드를 참조하십시오.

장치 #

장치 식별자를 사용하면 서버에 사용자를 눈에 띄지 않게 등록할 수 있습니다. 문제 없는 사용자 경험을 제공하지만 장치 식별자가 장치 업데이트를 변경할 수도 있기 때문에 신뢰할 수 없습니다.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

장치 식별자는 대시가 있는 영숫자 문자를 포함해야 하며 10 ~ 128 바이트여야 합니다.

게임에서는 Google 또는 게임 센터를 사용하여 사용자를 눈에 띄지 않게 등록하는 것이 더 좋을 수 있습니다.

이메일 #

사용자는 이메일 및 암호로 등록할 수 있습니다. 암호는 데이터베이스 서버에 저장되기 전에 해시되며 관리자가 읽거나 “복구"할 수 없습니다. 따라서 사용자의 개인 정보가 보호됩니다.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

이메일 주소는 RFC-5322에 의해 정의된 대로 유효해야 하며 암호는 8자 이상이어야 합니다.

소셜 공급자 #

이 서버는 등록 및 로그인하는 경우 다양한 사회 서비스를 지원합니다. 각 공급자와 함께 소셜 서비스에서 사용자 계정을 가져와 사용자를 설정하는 데 사용됩니다. 경우에 따라 사용자의 친구도 가져와 친구 목록에 추가됩니다.

공급자와 함께 사용자로 등록하거나 로그인하려면 해당 소셜 서비스에서 OAUTH 또는 액세스 토큰을 구해야 합니다.

Apple #

애플리케이션에서 Apple로 로그인을 통합하려면 Apple Developer 문서를 참조하십시오.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

Facebook #

Facebook을 사용하려면 프로젝트에 Facebook SDK를 추가해야 합니다. 온라인으로 다운로드함. 코드 통합 방법에 대한 가이드를 준수합니다. 모바일 프로젝트를 사용하면 iOS 및 Android 구성 방법에 대한 지침을 따라야 합니다.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

인증할 때 선택적으로 Facebook 친구를 Nakama의 친구 그래프로 가져올 수 있습니다. 이렇게 하려면 import을(를) True로 설정합니다.

Facebook Instant #

FBInstant.initializeAsync()을(를) 사용하여 Nakama용 FB Instant App Secret을 구성했고 Facebook Instant Games SDK 사용을 초기화했는지 확인합니다.

Google #

등록 및 로그인을 위해 Facebook과 비슷하게 Google의 클라이언트 SDK 중 하나를 사용해야 합니다.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

게임 센터 #

Apple 장치에는 게임 센터를 통한 사용자 상호 작용없이 수행할 수있는 기본 제공 인증이 있습니다. 레지스터 또는 로그인 프로세스는 Apple 서비스 작동 방식으로 인해 약간 복잡합니다.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

Steam #

Steam의 경우 사용자를 등록하려면 먼저 서버를 구성해야 합니다. 서버에 필요한 설정에 대한 구성 섹션을 참조하십시오.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

인증할 때 선택적으로 Steam Friends를 Nakama의 친구 그래프로 가져올 수 있습니다. 이렇게 하려면 import을(를) True로 설정합니다.

사용자 지정 #

사용자 지정 식별자는 장치 식별자와 비슷한 방식으로 사용하여 사용자를 로그인하거나 등록할 수 있습니다. 이 옵션은 사용하려는 외부 또는 사용자 지정 사용자 ID 서비스가 있는 경우 사용해야 합니다. 예를 들어 EA의 Origin 서비스는 자체 사용자 ID가 있는 계정을 처리합니다.

사용자 지정 식별자는 대시가 있는 영숫자 문자를 포함해야 하며 6 ~ 128 바이트여야 합니다.

계정을 만들 때 사용자 지정 사용자 이름을 선택할 수 있습니다. 이렇게 하려면 username을(를) 사용자 지정 이름으로 설정합니다. 사용자 계정을 암시적으로 만들지 않고 create만 인증하려면 false로 설정합니다.

세션 #

인증 호출이 성공하면 서버는 세션 객체로 응답합니다. 세션 객체에는 최소한 다음이 포함되어 있습니다:

  • 사용자 ID
  • 사용자 이름
  • 토큰에 캐시된 변수 세트
  • 생성 시간
  • 만료 시간

클라이언트가 세션 객체를 얻으면 멀티 플레이어, 알림상태 업데이트, 스트림 데이터 전달 또는 실시간 채팅과 같은 Nakama의 실시간 기능을 활용할 수 있습니다.

연결 또는 연결 해제 #

하나 이상의 다른 로그인 옵션을 현재 사용자에게 연결할 수 있습니다. 이렇게 하면 각 사용자와 여러 로그인을 쉽게 지원하고 여러 장치에서 사용자를 쉽게 식별할 수 있습니다.

다른 사용자 계정에 아직 사용되지 않은 장치 ID, 사용자 지정 ID 및 소셜 공급자 ID만 연결할 수 있습니다.

현재 사용자의 연결된 로그인 옵션을 해제할 수 있습니다.

다양한 계정 옵션을 연결하거나 해제할 수 있습니다.

연결설명
AppleApple 계정.
사용자 지정다른 ID 서비스의 사용자 지정 식별자.
장치사용자에게 속하는 장치의 고유 식별자.
이메일사용자가 설정한 이메일 및 암호.
FacebookFacebook 소셜 계정. 연결 할 때 Facebook 친구를 선택적으로 가져올 수 있습니다.
게임 센터Apple 게임 센터 서비스의 계정.
GoogleGoogle 계정.
SteamSteam 네트워크의 계정.