사용자 정의 저장소
사용자 지정 저장소를 사용하는 경우 다음에 대한 액세스 권한이 있습니다:
상호작용 절차
로그인 API 요청를 사용하는 로그인 위젯 혹은 애플리케이션을 클라이언트로 사용할 수 있습니다. 클라이언트와 엑솔라 로그인 서버 사이의 상호작용 절차는 다음과 같습니다.
- 클라이언트가 엑솔라 로그인 서버로 요청을 보냅니다. 요청 형식은 다음 JWT 및 Password 엔드포인트에 기술되어 있습니다.
- 엑솔라 로그인 서버가 여러분의 서버로 요청을 보냅니다. 지침을 따라 요청을 검증합니다.
- 엑솔라 로그인 서버가 여러분의 서버의 응답을 처리하여 결과를 클라이언트에게 반환합니다.
- 클라이언트는 응답을 처리합니다.
알림
사용자 이메일 주소, 소셜 미디어 데이터 및 사용자 속성은 엑솔라 측에 저장됩니다. 비밀번호는 엑솔라 측에 저장되지 않습니다.
- JASON 개체로 전송.
알림
- 사용자 특성이 있는 개체의 배열입니다. 개체는 다음과 같은 구조로 되어 있어야 합니다:
매개 변수 | 유형 | 설명 |
---|---|---|
attr_type | string | 서비스 특성에 대한 사용자의 액세스 수준 정의:
|
key | string | 사용자의 특성을 식별하는 데 사용되는 특성의 이름입니다. 각 사용자마다 고유해야 합니다. 최대 길이: 256자. 숫자, 라틴어 문자, 하이픈 및 밑줄을 사용할 수 있습니다. |
permission | string or null | 사용자의 특성에 대한 액세스 유형은 메소드에서 반환한 특성 목록에 영향을 줍니다. 가능한 값: public , private (기본값). |
read_only | string | 속성이 수정으로부터 보호되는지 여부. 기본적으로 false 이며 속성값을 변경할 수 있습니다. |
value | string | 사용자의 특성 값입니다. 최대 길이: 256자(기호) |
사용자 등록
- 클라이언트는 엑솔라 로그인 서버에
Register new user 요청을 전송합니다. - 엑솔라 로그인 서버는 새로운 사용자 URL에 요청을 전송합니다. 응답은 이 통합 흐름에 설명된 형식을 따라야 합니다. 응답에서 사용자 특성 목록 또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
알림
Copy
http
- http
- curl
POST https://your.hostname/your_registration_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email":"j.smith@email.com",
"password":"123456",
"username":"j.smith@email.com"
}
curl --request POST \
--url 'https://your.hostname/your_registration_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
사용자 특성이 포함된 응답 예시:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSON 개체를 포함한 응답 예시:
Copy
- json
{ "region": "Asia",
"type": "new"
}
- 사용자 데이터는 엑솔라 데이터베이스에 기록되는 반면에
email
은 미확인으로 표시됩니다. 사용자는 계정 확인 이메일을 받게 됩니다. - 로그인 위젯을 통합한 경우, 사용자는 다음 메시지와 함께 해당 페이지로 재지정됩니다: {email}로 송부한 지침에 따라 여러분 계정을 확인해 주세요.
- 사용자 등록에 실패한 경우 인증 위젯에 표시되는 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서011-002
를 지정합니다.description
매개 변수에서 오류 메시지 텍스트를 제공합니다.
Copy
- json
{
"error": {
"code": "011-002",
"description": "<string>"
}
}
사용자 이름 및 암호를 통한 인증
- 클라이언트는 엑솔라 로그인 서버에
Auth by username and password 요청을 전송합니다. - 엑솔라 로그인 서버는 사용자 검증 URL에 요청을 전송합니다. 응답은 이 통합 흐름에 설명된 형식을 따라야 합니다. 응답에서 사용자 특성 목록 또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
알림
Copy
http
- http
- curl
POST https://your.hostname/your_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email":"j.smith@email.com",
"password":"123456",
"username":"j.smith@email.com"
}
curl --request POST \
--url 'https://your.hostname/your_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
사용자 특성이 포함된 응답 예시:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSON 개체를 포함한 응답 예시:
Copy
- json
{ "region": "Asia",
"type": "new"
}
- 엑솔라 로그인 서버는 사용자 JWT를 생성합니다.
- 사용자는
login_url
로token
쿼리 매개변수와 함께 재지정됩니다. 이token
매개변수는 사용자 JWT를 포함합니다.
알림
엑솔라 데이터베이스에 기록된 사용자 데이터가 없는 경우 새 사용자가 생성됩니다.
전화번호를 통한 암호 없는 인증
- 클라이언트는 사용자가 전화번호를 입력할 수 있도록 인증 양식을 엽니다.
- 사용자가 전화번호를 입력합니다.
- 클라이언트는 엑솔라 로그인 서버로
Start auth by phone number 요청을 전송합니다. - 클라이언트는 사용자가 인증 코드를 입력할 수 있도록 필드를 표시합니다.
- 사용자가 수신한 인증 코드를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Complete auth by phone number 요청을 전송합니다. - 첫 번째 사용자 인증인 경우, 엑솔라 로그인 서버는 전화 URL을 사용한 비밀번호 없는 로그인에 요청을 전송합니다. 응답은 이 통합 흐름에 설명된 형식을 따라야 합니다. 응답에 사용자 특성 목록이나 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
알림
Copy
http
- http
- curl
POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"login": "+12025550140",
"type": "phone"
}
curl --request POST \
--url 'https://your.hostname/your_phone_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"login":"+12025550140","type":"phone"}'
사용자 특성이 포함된 응답 예시:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSON 개체를 포함한 응답 예시:
Copy
- json
{ "region": "Asia",
"type": "new"
}
이메일을 통한 비밀번호 없는 인증
- 클라이언트는 사용자가 이메일 주소를 입력할 수 있도록 인증 양식을 엽니다.
- 사용자가 이메일 주소를 입력합니다.
- 클라이언트는 엑솔라 로그인 서버로
Start auth by email 요청을 전송합니다. - 클라이언트는 사용자가 인증 코드를 입력할 수 있도록 필드를 표시합니다.
- 사용자가 수신한 인증 코드를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Complete auth by email 요청을 전송합니다. - 첫 번째 사용자 인증인 경우, 엑솔라 로그인 서버는 이메일 URL을 사용한 비밀번호 없는 로그인에 요청을 전송합니다. 응답은 이 통합 흐름에 설명된 형식을 따라야 합니다. 응답에 사용자 특성 목록이나 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
알림
Copy
http
- http
- curl
POST https://your.hostname/your_email_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"email": "user@mail.com",
"type": "email"
}
curl --request POST \
--url 'https://your.hostname/your_email_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email": "user@mail.com","type": "email"}'
사용자 특성이 포함된 응답 예시:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSON 개체를 포함한 응답 예시:
Copy
- json
{ "region": "Asia",
"type": "new"
}
소셜 네트워크를 통한 인증
소셜 네트워크를 통해 인증할 때 사용자 데이터를 얻으려면, 관리자 페이지의 로그인 프로젝트에서 소셜 로그인 URL을 지정합니다 (사용자 데이터베이스 > 저장소 > 사용자 지정 저장소 섹션). SNS로부터 받은 데이터를 포함한 요청이 해당 URL로 전송됩니다.
인증 흐름:
- 클라이언트는 엑솔라 로그인 서버에
Auth via social network 요청을 전송합니다. 사용자가 소셜 네트워크에 로그인합니다. - 엑솔라 로그인 서버는 소셜 네트워크에서 수신한 사용자 데이터를 처리하고 소셜 로그인 URL에 요청을 전송합니다. 응답은 이 시나리오에 설명된 형식을 따라야 합니다. 응답에서 사용자 특성 목록 또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
알림
Authorization: Bearer <JWT>
헤더 내의 임시 토큰에 데이터를 포함합니다. 요청에 전달된 사용자 JWT는 다음 데이터를 포함합니다.청구 | 유형 | 설명 |
---|---|---|
exp | Unix Timestamp | JWT 만료 날짜 및 시간. The JWT 수명은 7분입니다. 필수. |
iat | Unix Timestamp | 날짜와 시간 JWT가 발행되었습니다. 필수. |
iss | string | JWT 서명한 서비스 https://login.xsolla.com . 필수. |
request_type | string | 상수: gateway_request . 필수. |
xsolla_login_project_id | string (UUID) | 관리자 페이지의 귀하의 로그인 프로젝트 ID. 필수. |
string | 사용자 이메일 주소. | |
sub | string (UUID) | 엑솔라 로그인 서버에 기록된 사용자 ID. 필수. |
username | string | 사용자 이름. |
provider | string | 인증에 사용된 SNS 이름. 필수. |
id | string | SNS 상의 사용자 ID. 필수. |
social_access_token | string | 사용자가 인증된 소셜 네트워크의 액세스 토큰입니다. 이 클레임 전송을 활성화하려면 고객 성공 관리자에게 문의하거나 csm@xsolla.com으로 이메일을 보내세요. |
partner_data | string | 인증 중 서버가 응답 본문에서 반환한 모든 유형의 데이터입니다. 이 클레임 전송을 활성화하려면 고객 성공 관리자에게 문의하거나 csm@xsolla.com으로 이메일을 보내세요. |
Copy
- json
{
"exp": 1573635020,
"iat": 1573634600,
"iss": "https://login.xsolla.com",
"request_type": "gateway_request",
"xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
"sub": "00000000-0000-0000-0000-000000000000",
"email": "example@test.com",
"username": "Smith707",
"provider": "google",
"id": "123",
}
새 사용자 URL 응답 예시:
Copy
http
- http
- curl
POST https://your.hostname/your_social_authentication_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{}
curl --request POST \
--url 'https://your.hostname/your_social_authentication_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json'
사용자 특성이 포함된 응답 예시:
Copy
- json
{
"attributes": [
{
"attr_type": "server",
"key": "company",
"permission": "private",
"value": "facebook-promo"
},
{
"attr_type": "server",
"key": "custom-id",
"permission": "private",
"value": 48582
}
]
}
JSON 개체를 포함한 응답 예시:
Copy
- json
{ "region": "Asia",
"type": "new"
}
사용자 암호 재설정
- 클라이언트는 엑솔라 로그인 서버에
Reset password 요청을 전송합니다. - 엑솔라 로그인 서버는 사용자에게 비밀번호 재설정 확인 이메일을 보냅니다.
- 이메일에서 비밀번호 재설정을 확인하면 사용자는 새 비밀번호를 입력할 수 있는 페이지로 리디렉션됩니다.
- 사용자가 새 비밀번호를 입력합니다.
- 엑솔라 로그인 서버가 비밀번호 재설정 URL로 요청을 전송합니다.
새 사용자 URL 응답 예시:
Copy
http
- http
- curl
POST https://your.hostname/your_reset_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json
{
"username": "john@gmail.com",
"fields": {
"password": "NewPa$$word1"
}
}
curl --request POST \
--url 'https://your.hostname/your_reset_uri' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'
이 기사가 도움이 되었나요?
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.계속 읽기
유용한 링크
사용자 지정 저장소 연결 방법오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.