사용자 지정 사용자 데이터 저장소

사용자 지정 사용자 데이터 저장소를 사용하는 경우 엑솔라 로그인은 중개자로서의 역할을 수행하며 모든 사용자 식별 데이터는 사용자 측에 저장됩니다. 엑솔라 로그인은 웹훅의 헤더와 본문에 포함된 토큰에 인증 데이터를 전달합니다.

알림
사용자 이메일 주소, 소셜 미디어 데이터 및 사용자 속성은 엑솔라 측에 저장됩니다. 비밀번호는 엑솔라 측에 저장되지 않습니다.
사용자 지정 저장소를 사용하는 경우 다음에 대한 액세스 권한이 있습니다:
알림
로컬에서 통합을 테스트하는 경우, 엑솔라의 POST요청이 http://localhost:3000/my-webhook-endpoint와 같은 URL에 도달하지 않습니다. Ngrok을 통해 외부 액세스를 위한 터널을 생성하여 엑솔라의 요청을 로컬에서 수신할 수 있습니다. 이에 대한 자세한 내용은 ngrok 문서에서 확인할 수 있습니다.

상호작용 절차

알림
상호 작용 시나리오는 선택한 인증 프로토콜, 즉 JWT 또는 OAuth 2.0에 따라 다릅니다.
알림
추가 사용자 데이터가 포함된 JSON의 최대 길이는 1000자입니다.
사용자 프로필 특성에와 같은 데이터를 추가할 수 있습니다.

사용자 특성 개체 배열을 전달하여 사용자 특성을 업데이트할 수도 있습니다. 이러한 개체의 구조는 아래에 설명되어 있습니다.

사용자 특성 개체 구조:

매개 변수유형설명
attr_type
string서비스 특성에 대한 사용자의 액세스 수준 정의:
  • client - 사용자가 편집할 수 있는 특성입니다. 이 유형의 특성 값은 사용자가 입력하거나 클라이언트 측의 인게임 논리에 따라 지정됩니다. 예를 들어 이름 및 캐릭터 능력치, 게임 난이도 등입니다.
  • server - 읽기 전용 특성입니다. 이 유형의 특성 값은 애플리케이션의 서버 측에서 입력하고 편집합니다. 정기적으로 변경하지 않아야 하는 게임 캐릭터 능력치 또는 사용자 매개변수 구성에 사용하는 것이 좋습니다. 예를 들어 보너스를 받을 수 있는 확률, 게임 캐릭터 키 매개변수, 사용자 카테고리 등입니다.
key
string사용자의 특성을 식별하는 데 사용되는 특성의 이름입니다. 각 사용자마다 고유해야 합니다.
최대 길이: 256자. 숫자, 라틴어 문자, 하이픈 및 밑줄을 사용할 수 있습니다.
permission
string or null사용자의 특성에 대한 액세스 유형은 메소드에서 반환한 특성 목록에 영향을 줍니다.
가능한 값: public, private (기본값).
read_only
string속성이 수정으로부터 보호되는지 여부. 기본적으로 false이며 속성값을 변경할 수 있습니다.
value
string사용자의 특성 값입니다.
최대 길이: 256자(기호).

사용자 등록

알림
상호 작용 시나리오는 선택한 인증 프로토콜, 즉 JWT 또는 OAuth 2.0에 따라 다릅니다.

사용자 이름 및 암호를 통한 인증

알림
상호 작용 시나리오는 선택한 인증 프로토콜, 즉 JWT 또는 OAuth 2.0에 따라 다릅니다.

전화번호를 통한 암호 없는 인증

알림
상호 작용 시나리오는 선택한 인증 프로토콜, 즉 JWT 또는 OAuth 2.0에 따라 다릅니다.

이메일을 통한 비밀번호 없는 인증

알림
상호 작용 시나리오는 선택한 인증 프로토콜, 즉 JWT 또는 OAuth 2.0에 따라 다릅니다.

소셜 네트워크를 통한 인증

알림
상호 작용 시나리오는 선택한 인증 프로토콜, 즉 JWT 또는 OAuth 2.0에 따라 다릅니다.

사용자 암호 재설정

  1. 클라이언트가 엑솔라 로그인 서버에 Reset password POST 요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.
    • projectId 쿼리 매개 변수 - 관리자 페이지의 로그인 프로젝트 ID.
    • username본문 매개 변수 - 사용자 이름. 허용 길이: 3~255자.
  2. 엑솔라 로그인 서버는 사용자에게 암호 재설정 확인 이메일을 전송합니다.
  3. 이메일에서 암호 재설정을 확인하면 사용자는 새 암호를 입력할 수 있는 페이지로 리디렉션됩니다.
  4. 사용자가 새 암호를 입력합니다.
  5. 엑솔라 로그인 서버가 암호 재설정 URL로 웹훅을 전송합니다.
  6. 암호 재설정에 실패한 경우 인증 위젯에 표시되는 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된 error 개체를 전달합니다.
    • code 매개 변수에서 오류 코드(예: 011-002)를 지정합니다.
    • description 매개 변수에서 오류 메시지 텍스트를 제공합니다.

암호 재설정 URL 웹훅 예시:

Copy
Full screen
Small screen

http

  • http
  • curl
 1POST https://your.hostname/your_reset_uri HTTP/1.1
 2Authorization: Bearer {JWT}
 3Content-Type: application/json
 4
 5{
 6  "username": "john@gmail.com",
 7  "fields": {
 8    "password": "NewPa$$word1"
 9  }
10}
1curl --request POST \
2  --url 'https://your.hostname/your_reset_uri' \
3  --header 'authorization: bearer_JWT' \
4  --header 'content-type: application/json' \
5  --data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'

토큰 새로 고침

알림
토큰 새로 고침은 OAuth 2.0 인증 프로토콜을 사용하는 경우에만 사용할 수 있습니다.
  1. 액세스 토큰이 만료되는 경우, 클라이언트가 엑솔라 로그인 서버에 JWT 생성 POST 요청을 전송합니다. 요청 본문에는 다음 매개 변수가 포함되어야 합니다.
    • grant_type - JWT 승인 유형, refresh_token 값을 전달합니다.
    • client_id - OAuth 2.0 클라이언트 ID.
    • refresh_token - 사용자 인증 요청에 대한 응답으로 받은 토큰을 새로 고칩니다.
  2. 엑솔라 로그인 서버는 소셜 네트워크에서 수신한 사용자 데이터를 처리하고 웹훅을 토큰 새로 고침 URL로 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의 partner_data 필드에 기록됩니다.
알림
엑솔라의 사용자 프로필 속성에 JSON 필드를 매핑하고 서버에서 사용자 ID를 기반으로 계정 연결을 구성하려면 지침을 따르세요.
웹훅 예시:
Copy
Full screen
Small screen
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}

사용자 특성이 포함된 웹훅에 대한 응답의 예시:

Copy
Full screen
Small screen
 1{
 2    "attributes": [
 3      {
 4        "attr_type": "server",
 5        "key": "company",
 6        "permission": "private",
 7        "value": "facebook-promo"
 8      },
 9      {
10        "attr_type": "server",
11        "key": "custom-id",
12        "permission": "private",
13        "value": 48582
14      }
15    ]
16}

JSON 개체가 포함된 웹훅에 대한 응답의 예시:

Copy
Full screen
Small screen
 1{
 2  "user": {
 3    "player_id": "12345678",
 4    "email": "user@example.com"
 5  },
 6  "user_info": {
 7    "username": "gamer123",
 8    "user_first_name": "John",
 9    "user_last_name": "Doe",
10    "gender": "male",
11    "birthday": "1990-05-15",
12    "country": "US",
13    "language": "en"
14  },
15  "subscription_status": "active",
16  "loyalty_level": "gold"
17
18}
이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.

계속 읽기

마지막 업데이트: 2025년 7월 7일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!
피드백을 보내는 중 문제가 발생했습니다
잠시 후 다시 시도하거나 doc_feedback@xsolla.com으로 연락해 주세요.