PlayFab

작동 방식

PlayFab을 다음 사용자 데이터에 대한 저장소로 사용할 수 있습니다:

  • 양식이 설정된 경우 확장 등록 폼에서 사용자 이름
  • 사용자 이메일 주소
  • 사용자 비밀번호
  • 필드
이 사용자 데이터는 엑솔라 측에도 저장되지만 비밀번호는 PlayFab에 의해서만 인증됩니다.

PlayFab 저장소를 사용하는 경우, 다음 기능에 접근할 수 있습니다:

로그인 위젯을 사용하거나 여러분의 애플리케이션을 클라이언트로 사용할 수 있습니다. 클라이언트와 엑솔라 로그인 서버간의 상호작용은 다음과 같습니다:

  1. 클라이언트는 엑솔라 로그인 서버로 요청을 보냅니다. 요청 양식은 JWT, OAuth 2.0, 및 General 메소드 그룹에 기술되어 있습니다.
  2. 엑솔라 로그인 서버는 PlayFab에 요청을 보냅니다.
  3. 엑솔라 로그인 서버는 PlayFab으로부터의 응답을 처리하고 클라이언트에 결과를 반환합니다.
  4. 클라이언트는 응답을 처리합니다.

PlayFab에서 사용자 등록

사용자 등록은 다음 절차를 따릅니다. 사용자 등록 완료를 위한 사용자 계정 확인 이메일 전송 기능을 설정할 수 있습니다.

사용자 등록 절차

  1. 클라이언트는 엑솔라 로그인 서버에 Register 요청을 보냅니다.
  2. 엑솔라 로그인 서버는 등록 요청을 보냅니다.
  3. 사용자 데이터는 엑솔라 데이터베이스에 기록됩니다.
  4. 엑솔라 로그인 서버는 PlayFab의 데이터 변경 요청을 보냅니다.
  5. 계정 확인을 설정한 경우:
    1. 솔루션 통합을 위해 API 메소드를 사용하는 경우, 등록이 완료됩니다.
    2. 솔루션 통합에 로그인 위젯을 사용하는 경우, 사용자는 다음 메시지와 함께 페이지로 리디렉션 됩니다: 계정 확인 이메일이 {email address}로 발송되었습니다.
    계정 확인 기능을 설정하지 않는 경우, 사용자는 등록 이후 자동으로 로그인됩니다.

PlayFab에서 사용자 계정 확인

계정 확인 이메일 전송을 설정하려면, 다음 절차를 완료합니다:

  1. 지침을 따라 PlayFab에서 프로젝트를 설정합니다.
  2. Create an email templateCreate a rule to send an email when a contact email is updated 단계를 다음 Requirements 모듈에서 완료했는지 확인하세요.
  3. 계정 관리자에게 연락하기.

Note: PlayFab을 사용하는 프로젝트에 가입한 사용자는 이메일 주소 확인 없이 로그인할 수 있습니다.

사용자 이메일 주소와 비밀번호를 통한 인증

사용자 이메일 주소와 비밀번호를 통한 인증에는 두 가지 유형이 있습니다 — JWT-기반 및 OAuth 2.0 프로토콜 기반 인증.

인증(JWT):

  1. 클라이언트는 Auth by Username and Password 요청을 엑솔라 로그인 서버로 보냅니다.
  2. 엑솔라 로그인 서버는 인증 요청을 PlayFab에 보냅니다.
  3. 엑솔라 로그인 서버는 사용자 JWT를 생성하며:
    • PlayFab 요청에 대한 응답으로부터의 PlayFabId값은 external_account_id 요구에 기록됩니다 .
    • PlayFab 요청에 대한 응답으로부터의 SessionTicketsession_ticket 요구에 기록됩니다.
  4. 사용자는 login_url로 쿼리 매개변수 token과 함께 리디렉션됩니다. 사용자 JWT는 token 매개변수에 기록됩니다.

인증 (OAuth 2.0):

  1. 클라이언트는 Auth by Username and Password 요청을 redirect_uri 매개변수와 함께 엑솔라 로그인 서버에 보냅니다.
  2. 엑솔라 로그인 서버는 인증 요청을 PlayFab으로 보냅니다.
  3. 엑솔라 로그인 서버는 login_url를 쿼리 매개변수의 code와 함께 반환하며 redirect_uri를 전달합니다.
  4. 사용자는 redirect_uri로 리디렉션 되며 쿼리 매개변수 code를 동반합니다.
  5. 클라이언트는 Generate User JWT 요청을 엑솔라 로그인 서버에 전송하여 수신한 code를 사용자 JWT와 교환합니다.
  6. 엑솔라 로그인 서버는 사용자 JWT를 생성하며:
    • PlayFab 요청에 대한 응답으로부터의 PlayFabId값이 external_account_id 요구에 기록됩니다.
    • PlayFab 요청에 대한 응답으로부터의 SessionTicketsession_ticket 요구에 기록되는데 이는 귀하가 scope=playfabAuth by Username and Password 요청에 전달하는 경우에 한합니다.

엑솔라 스토리지에 사용자 데이터가 없는 경우:

  1. 사용자 데이터가 그곳에 기록됩니다.
  2. 엑솔라 로그인 서버는 PlayFab의 데이터 변경 요청을 보냅니다.

Twitch를 통한 인증

Twitch를 통해 사용자를 인증하려면 PlayFab에서 SNS를 설정해야 합니다. Twitch를 통한 인증에는 두 가지 유형이 있습니다 — JWT-기반 및 OAuth 2.0 프로토콜 기반 인증.

인증 (JWT):

  1. 클라이언트는 엑솔라 로그인 서버에 Auth via Social Network 요청을 보냅니다.
  2. 엑솔라 로그인 서버는 PlayFab에 인증 요청을 보냅니다.
  3. 사용자 데이터는 엑솔라 데이터베이스에 기록됩니다.
  4. 엑솔라 로그인 서버는 사용자 JWT를 생성하며:
    • PlayFab요청에 대한 응답으로부터의 PlayFabId 값이 external_account_id 요구에 기록됩니다.
    • PlayFab 요청에 대한 응답으로부터의 SessionTicketsession_ticket 요구에 기록됩니다.
  5. 사용자는 login_url로 리디렉션되며 쿼리 매개변수 token을 동반합니다. 사용자 JWT는 token 매개변수에 기록됩니다.

인증 (OAuth 2.0):

  1. 클라이언트는 Auth via Social Network 요청을 redirect_uri 매개변수와 함께 엑솔라 로그인 서버로 보냅니다.
  2. 엑솔라 로그인 서버는 PlayFab으로 인증 요청을 보냅니다.
  3. 사용자 데이터는 엑솔라 데이터베이스에 기록됩니다.
  4. 엑솔라 로그인 서버는 PlayFab에서의 데이터 변경 요청을 보냅니다.
  5. 사용자는 redirect_uri로 리디렉션되며 쿼리 매개변수 code를 동반합니다.
  6. 클라이언트는 엑솔라 로그인 서버에 Generate User JWT 요청을 보내 수신한 code를 사용자 JWT와 교환합니다.
  7. 엑솔라 로그인 서버는 사용자 JWT를 생성하며:
    • PlayFab 요청에 대한 응답으로부터의 PlayFabId 값은 external_account_id 요구에 기록됩니다.
    • PlayFab 요청에 대한 응답으로부터의 SessionTicketsession_ticket 요구에 기록되는데 이는 귀하가 scope=playfab를 Twitch 인증 요청에 전달하는 경우에 한합니다.

Info: PlayFab의 사용자 레코드가 Twitch 계정에 연결된 경우, 이는 하나의 계정으로 간주됩니다.

사용자 비밀번호 초기화

사용자 비밀번호 초기화 절차는 다음과 같습니다:

  1. 클라이언트가 엑솔라 로그인 서버에 Reset Password 요청을 보냅니다.
  2. 엑솔라 로그인 서버는 비밀번호 초기화 요청을 PlayFab에 보냅니다.
  3. 갱신된 비밀번호가 PlayFab에 기록됩니다.

사용자 차단

게시자 계정 > 로그인 프로젝트 > 사용자에서 사용자를 차단할 수 있습니다. 차단된 사용자는 인증할 수 없습니다. 차단 기록은 엑솔라 데이터베이스에만 저장됩니다.

사용자

이미 로그인을 통합하고 PlayFab에 프로젝트가 있는 파트너.

획득 방법

PlayFab 스토리지 연결 방법:

  1. 게시자 계정 > 로그인 프로젝트 > 일반 설정으로 이동합니다.
  2. PlayFab사용자 데이터 스토리지 블록에서 선택합니다.
  3. 귀하의 PlayFab 계정에서 Title ID를 입력합니다.

Info: PlayFab 메소드를 사용하여 사용자에게 추가 이메일을 보낼 수 있습니다.

Playfab에서 Twitch를 설정하는 방법:

  1. 여러분의 Twitch 계정을 생성하고 Twitch Client ID를 가져옵니다.
  2. 로그인 프로젝트 > SNS 연결로 이동합니다.
  3. Twitch Client IDApplication ID 필드에 입력하여 Twitch.tv를 연결합니다.
  4. PlayFab 계정에서 Twitch를 설정하려면 지침을 따릅니다.
  5. 엑솔라 로그인을 API 메소드로 통합한 경우:
    1. Twitch를 통한 인증 링크를 가져옵니다. 이를 위해 SNS 인증 메소드를 사용합니다 (JWT 혹은 OAuth 2.0).
    2. 수신한 링크를 UI에 배치합니다.