사용자 지정 사용자 데이터 저장소
사용자 지정 사용자 데이터 저장소를 사용하는 경우 엑솔라 로그인은 중개자로서의 역할을 수행하며 모든 사용자 식별 데이터는 사용자 측에 저장됩니다. 엑솔라 로그인은 웹훅의 헤더와 본문에 포함된 토큰에 인증 데이터를 전달합니다.
POST
요청이 http://localhost:3000/my-webhook-endpoint
와 같은 URL에 도달하지 않습니다. Ngrok을 통해 외부 액세스를 위한 터널을 생성하여 엑솔라의 요청을 로컬에서 수신할 수 있습니다. 이에 대한 자세한 내용은 ngrok 문서에서 확인할 수 있습니다.상호작용 절차
로그인 위젯 또는 로그인 API 호출을 사용하는 애플리케이션을 클라이언트로 사용할 수 있습니다. 클라이언트와 엑솔라 로그인 서버 간의 상호 작용 흐름은 다음과 같습니다:
- 클라이언트는 엑솔라 로그인 서버로 요청을 전송합니다. 요청 형식은 인증 방법에 설명되어 있습니다.
- 엑솔라 로그인 서버가 웹훅을 사용자의 서버로 전송합니다. 헤더에는
“request_type”: “gateway_token”
매개 변수와 함께 서버 JWT가 포함되어 있습니다. 토큰 유효성 검사를 설정하려면 지침을 준수하십시오. 사용자 식별 데이터의 일부가 웹훅 본문에 전달됩니다. - 웹훅 수신을 확인하려면 서버가 다음을 반환해야 합니다. 성공적으로 응답한 경우
200
,201
또는204
HTTP 코드.400
지정된 사용자를 찾을 수 없거나 잘못된 서명이 전달된 경우 문제에 대한 설명이 포함된 HTTP 코드입니다. 웹훅 핸들러는 서버에 일시적인 문제가 발생한 경우5xx
HTTP 코드를 반환할 수도 있습니다.
- 엑솔라 로그인 서버는 서버의 응답을 처리하고 인증 토큰을 클라이언트에 반환합니다.
- 클라이언트가 응답을 처리합니다.
사용자 식별 후 JWT에 사용자 정보를 추가하려면 응답 본문에서 매개 변수 집합이 포함된 JSON 개체를 반환해야 합니다. 이 개체는 JWT의 partner_data
필드에 저장됩니다.
로그인 위젯 또는 로그인 API 호출을 사용하는 애플리케이션을 클라이언트로 사용할 수 있습니다. 클라이언트와 엑솔라 로그인 서버 간의 상호 작용 흐름은 다음과 같습니다.
- 클라이언트가 엑솔라 로그인 서버로 요청을 전송합니다. 요청 형식은 인증 방에 설명되어 있습니다.
- 엑솔라 로그인 서버가 웹훅을 사용자의 서버로 전송합니다. 헤더에는 JWT with the
“request_type”: “gateway_token”
매개 변수와 함께 서버 JWT가 포함되어 있습니다. 토큰 유효성 검사를 설정하려면 지침을 따르십시오. 사용자 식별 데이터의 일부가 웹훅 본문에 전달됩니다. - 웹훅 수신을 확인하려면 서버가 반환해야 합니다. 성공적으로 응답된 경우.
200
,201
또는204
HTTP 코드.- 지정한 사용자를 찾을 수 없거나 잘못된 서명이 전달된 경우 문제 설명이 포함된
400
HTTP 코드. 웹훅 핸들러는 서버에 일시적인 문제가 발생한 경우5xx
HTTP 코드를 반환할 수도 있습니다.
- 엑솔라 로그인 서버가 서버의 응답을 처리하고 인증 토큰을 클라이언트에 반환합니다.
- 클라이언트가 엑솔라 로그인 서버에 JWT 생성
POST
요청을 전송합니다. 요청 본문에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.grant_type
- JWT 승인 유형,authorization_code
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.client_secret
- OAuth 2.0 클라언트 기밀 ID. 기밀 인증 유형에 필요.code
- 인증 코드.
- 엑솔라 로그인 서버가 액세스 토큰과 새로 고침 토큰이라는 한 쌍의 JWT를 클라이언트에 반환합니다.
- 클라이언트가 응답을 처리합니다.
- 액세스 토큰 만료 시 클라이언트가 엑솔라 로그인 서버에 JWT 생성
POST
요청을 전송합니다. 요청 본문에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.grant_type
- JWT 승인 유형,refresh_token
값을 전달합니다.client_id
- OAuth 2.0 클라언트 ID.refresh_token
- 사용자 인증 요청에 대한 응답으로 받은 새로 고침 토큰을 반환합니다.
사용자를 식별하거나 토큰을 새로 고침 시 JWT에 사용자 정보를 추가하고 응답 본문에서 매개 변수 집합이 포함된 JSON 개체를 반환할 수 있습니다. 이 객체는 JWT의 partner_data
필드에 저장됩니다.
- 닉네임
- 생년월일
- 이름
- 성
- 서버에서 사용하는 사용자 ID
사용자 특성 개체 배열을 전달하여 사용자 특성을 업데이트할 수도 있습니다. 이러한 개체의 구조는 아래에 설명되어 있습니다.
사용자 특성 개체 구조:
매개 변수 | 유형 | 설명 |
---|---|---|
attr_type | string | 서비스 특성에 대한 사용자의 액세스 수준 정의:
|
key | string | 사용자의 특성을 식별하는 데 사용되는 특성의 이름입니다. 각 사용자마다 고유해야 합니다. 최대 길이: 256자. 숫자, 라틴어 문자, 하이픈 및 밑줄을 사용할 수 있습니다. |
permission | string or null | 사용자의 특성에 대한 액세스 유형은 메소드에서 반환한 특성 목록에 영향을 줍니다. 가능한 값: public , private (기본값). |
read_only | string | 속성이 수정으로부터 보호되는지 여부. 기본적으로 false 이며 속성값을 변경할 수 있습니다. |
value | string | 사용자의 특성 값입니다. 최대 길이: 256자(기호). |
사용자 등록
- 클라이언트가 엑솔라 로그인 서버에
Register new user POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지의 로그인 프로젝트 ID.- 본문 매개 변수:
username
- 사용자 이름. 허용 길이: 3~255자.password
- 사용자 암호. 허용 길이: 6~100자.email
- 사용자의 이메일 주소. 허용 길이: 1~255자.
- 엑솔라 로그인 서버가 웹훅을 새로운 사용자 URL에 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는
partner_data
필드에 기록됩니다.
웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_registration_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"j.smith@email.com",
7 "password":"123456",
8 "username":"j.smith@email.com"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_registration_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자 데이터는 엑솔라 데이터베이스에 기록되는 반면에
email
은 미확인으로 표시됩니다. 사용자는 계정 확인 이메일을 받게 됩니다. - 로그인 위젯을 통합한 경우, 사용자는 다음 메시지와 함께 해당 페이지로 리디렉션됩니다. {email}(으)로 전달해드린 지침에 따라 계정을 확인해 주세요.
- 사용자 등록에 실패한 경우 인증 위젯에 표시되는 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서 오류 메시지 텍스트를 제공합니다.
오류 메시지가 포함된 개체의 예시:
- json
1{
2 "error": {
3 "code": "011-002",
4 "description": "<string>"
5 }
6}
- 클라이언트가 엑솔라 로그인 서버에
Register new user POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.- 쿼리 매개 변수:
response_type
- JWT 승인 유형,code
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.
state
- 추가 사용자 인증에 사용되는 값. CSRF 공격을 방지하는 데 필요. 응답으로 반환됩니다. 허용 길이: 1~8자.
- 쿼리 매개 변수:
- 본문 매개 변수:
username
- 사용자 이름. 허용 길이: 3~255자.password
- 사용자의 암호. 허용 길이: 1~255자.
- 엑솔라 로그인 서버가 새로운 사용자 URL로 웹훅을 전송합니다. 응답은 이 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_registration_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"j.smith@email.com",
7 "password":"123456",
8 "username":"j.smith@email.com"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_registration_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자 데이터는 엑솔라 데이터베이스에 기록되는 반면에
email
은 미확인으로 표시됩니다. 사용자는 계정 확인 이메일을 받게 됩니다. - 로그인 위젯을 통합한 경우, 사용자는 다음 메시지와 함께 해당 페이지로 리디렉션됩니다. {email}(으)로 전달해드린 지침에 따라 계정을 확인해 주세요.
- 사용자 등록에 실패한 경우 인증 위젯에 표시되는 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서 오류 메시지 텍스트를 제공합니다.
오류 메시지가 포함된 개체의 예시:
- json
1{
2 "error": {
3 "code": "011-002",
4 "description": "<string>"
5 }
6}
사용자 이름 및 암호를 통한 인증
- 클라이언트가 엑솔라 로그인 서버에
Auth by username and password POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지에 있는 로그인 프로젝트 ID.- 본문 매개 변수:
username
- 사용자 이름. 허용 길이: 3~255자.password
- 사용자의 암호. 허용 길이: 6~100자.
- 엑솔라 로그인 서버는 사용자 인증 URL로 웹훅을 보냅니다. 응답은 이 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
사용자 인증 URL 웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"j.smith@email.com",
7 "password":"123456",
8 "username":"j.smith@email.com"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서, 오류 메시지 텍스트를 제공합니다.
- 엑솔라 로그인 서버는 사용자 JWT를 생성합니다.
- 사용자는
token
쿼리 매개 변수가 있는login_url
로 리디렉션됩니다.token
매개 변수에는 사용자 JWT가 포함됩니다.
- 클라이언트가 엑솔라 로그인 서버에
Auth by username and password POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.- 쿼리 매개 변수:
grant_type
- JWT 승인 유형,code
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.
state
- 추가 사용자 인증에 사용되는 값. CSRF 공격을 방지하는 데 필요. 응답으로 반환됩니다. 허용 길이: 1~8자.
- 쿼리 매개 변수:
- 본문 매개 변수:
username
- 사용자 이름. 허용 길이: 3~255자.password
- 사용자의 암호. 허용 길이: 6~100자.
- 엑솔라 로그인 서버가 사용자 인증 URL로 웹훅을 전송합니다. 응답은 이 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
사용자 인증 URL 웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"j.smith@email.com",
7 "password":"123456",
8 "username":"j.smith@email.com"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"j.smith@email.com","password":"123456","username":"j.smith@email.com"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서, 오류 메시지 텍스트를 제공합니다.
- 엑솔라 로그인 서버는 사용자 JWT를 생성합니다.
- 사용자는
token
쿼리 매개 변수가 있는login_url
로 리디렉션됩니다.token
매개 변수에는 사용자 JWT가 포함됩니다.
전화번호를 통한 암호 없는 인증
- 클라이언트가 인증 양식을 열어 사용자가 전화번호를 입력할 수 있도록 합니다.
- 사용자가 전화번호를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Start auth by phone number POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지에 있는 로그인 프로젝트 ID.phone_number
본문 매개 변수 - 사용자의 전화번호.
- 클라이언트는 사용자가 인증 코드를 입력할 수 있도록 필드를 표시합니다.
- 사용자가 수신한 인증 코드를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Complete auth by phone number POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지에 있는 로그인 프로젝트 ID.- 본문 매개 변수:
code
- 확인 코드.phone_number
- 사용자 전화번호.operation_id
- ID 코드 확인.
- 첫 번째 사용자 인증인 경우 엑솔라 로그인 서버는 암호 없는 로그인 URL로 웹훅을 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다. - 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서 오류 코드를 지정합니다. 예제:011-002
.description
매개 변수에 오류 메시지 텍스트를 입력합니다.
웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "login": "+12025550140",
7 "type": "phone"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_phone_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"login":"+12025550140","type":"phone"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자가 전화번호를 입력할 수 있도록 클라이언트가 인증 양식을 엽니다.
- 사용자가 전화번호를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Start auth by phone number POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.- 쿼리 매개 변수:
response_type
- JWT 승인 유형,code
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.state
- 추가 사용자 인증에 사용되는 값. CSRF 공격을 방지하는 데 필요. 응답으로 반환됩니다. 허용 길이: 1~8자.
phone_number
본문 매개 변수 - 사용자의 전화번호.
- 쿼리 매개 변수:
- 사용자가 인증 코드를 입력할 수 있도록 클라이언트가 필드를 표시합니다.
- 사용자가 수신한 인증 코드를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Complete auth by phone number POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.- 쿼리 매개 변수
client_id
- OAuth 2.0 클라이언트 ID. - 본문 매개 변수:
code
- 확인 코드.phone_number
- 사용자의 전화번호.operation_id
- 확인 코드 ID.
- 쿼리 매개 변수
- 첫 번째 사용자 인증인 경우 엑솔라 로그인 서버는 암호 없는 로그인 URL로 웹훅을 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는
partner_data
필드에 기록됩니다. - 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서, 다음과 같은 세부 항목이 있는
error
개체를 전달합니다.code
매개 변수에서 오류 코드를 지정합니다. 예제:011-002
.description
매개 변수에 오류 메시지 텍스트를 입력합니다.
웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "login": "+12025550140",
7 "type": "phone"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_phone_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"login":"+12025550140","type":"phone"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
이메일을 통한 비밀번호 없는 인증
- 클라이언트는 사용자가 이메일 주소를 입력할 수 있도록 인증 양식을 엽니다.
- 사용자가 이메일 주소를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Start auth by email POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지의 로그인 프로젝트 ID.email
본문 매개 변수 - 사용자의 이메일 주소.
- 사용자가 인증 코드를 입력할 수 있도록 클라이언트가 필드를 표시합니다.
- 사용자가 수신한 인증 코드를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Complete auth by email POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.- The
projectId
쿼리 매개 변수 - 관리자 페이지의 로그인 프로젝트 ID. - 본문 매개 변수:
code
- 확인 코드.email
- 사용자의 이메일 주소.operation_id
- 확인 코드 ID.
- The
- 첫 번째 사용자 인증인 경우 엑솔라 로그인 서버는 암호 없는 로그인 URL로 웹훅을 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드입니다. - 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서, 다음과 같은 세부 항목이 포함된
error
개체를 전달합니다.code
매개 변수에서, 오류 코드를 지정합니다. 예제:011-002
.description
매개 변수에 오류 메시지 텍스트를 입력합니다.
웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_email_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email": "user@mail.com",
7 "type": "email"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_email_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email": "user@mail.com","type": "email"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자가 이메일을 입력할 수 있도록 클라이언트가 인증 양식을 엽니다.
- 사용자가 이메일을 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Start auth by email POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.- 쿼리 매개 변수:
response_type
JWT 승인 유형,code
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.state
- 추가 사용자 인증에 사용되는 값. CSRF 공격을 방지하는 데 필요. 응답으로 반환됩니다. 허용 길이: 1~8자.
email
본문 매개 변수 - 사용자의 이메일 주소.
- 쿼리 매개 변수:
- 사용자가 인증 코드를 입력할 수 있도록 클라이언트가 필드를 표시합니다.
- 사용자가 수신한 인증 코드를 입력합니다.
- 클라이언트가 엑솔라 로그인 서버에
Complete auth by email POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.client_id
쿼리 매개 변수 - OAuth 2.0 클라이언트 ID.- 본문 매개 변수:
code
- 확인 코드.email
- 사용자의 이메일.operation_id
- 확인 코드 ID.
- 첫 번째 사용자 인증인 경우 엑솔라 로그인 서버는 암호 없는 로그인 URL로 웹훅을 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다. - 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서, 다음 세부 항목을 포함한
error
개체를 전달합니다.code
매개 변수에서 오류 코드를 지정합니다. 예제:011-002
.description
매개 변수에 오류 메시지 텍스트를 입력합니다.
웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_email_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email": "user@mail.com",
7 "type": "email"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_email_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email": "user@mail.com","type": "email"}'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
소셜 네트워크를 통한 인증
소셜 네트워크를 통해 인증할 때 사용자 데이터를 가져오려면 관리자 페이지(사용자 데이터베이스 > 스토리리 > 스토리지 사용자 지정 섹션)의 로그인 프로젝트 설정에서 소셜 로그인 URL을 지정하십시오. 소셜 네트워크에서 받은 데이터가 포함된 요청이 이 URL로 전송됩니다.
인증 절차:
- 클라이언트가 엑솔라 로그인 서버에
Auth via social network POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지의 로그인 프로젝트 ID.provider_name
경로 매개 변수 - 관리자 페이지의 로그인에 연결된 소셜 네트워크의 이름. 예제:amazon
,apple
,xsolla
,baidu
,battlenet
,discord
,epicgames
,facebook
,github
,google
,kakao
,linkedin
,mailru
,microsoft
,msn
,naver
,ok
,paypal
,qq
,reddit
,steam
,twitch
,twitter
,vimeo
,vk
,wechat
,weibo
,xbox
,yahoo
,yandex
,youtube
.
- 사용자가 소셜 네트워크에 로그인합니다.
- 엑솔라 로그인 서버는 소셜 네트워크에서 수신한 사용자 데이터를 처리하고 소셜 로그인 URL로 웹훅을 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는
partner_data
필드에 기록됩니다.
사용자 데이터는 임시 게이트웨이 토큰(“request_type”: “gateway_token”
이 있는 서버 토큰)으로Authorization
헤더에 전달됩니다.
게이트웨이 토큰의 주요 필드:
청구 | 유형 | 설명 |
---|---|---|
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으로 이메일을 보내세요. |
토큰 페이로드 예제:
- json
1{
2 "exp": 1573635020,
3 "iat": 1573634600,
4 "iss": "https://login.xsolla.com",
5 "request_type": "gateway_request",
6 "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
7 "sub": "00000000-0000-0000-0000-000000000000",
8 "email": "example@test.com",
9 "username": "Smith707",
10 "provider": "google",
11 "id": "123",
12}
소셜 로그인 URL 웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_social_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
1curl --request POST \
2 --url 'https://your.hostname/your_social_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에 다음 세부 정보와 함께
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서 오류 메시지 텍스트를 제공합니다.
소셜 네트워크를 통해 인증할 때 사용자 데이터를 가져오려면 관리자 페이지(사용자 데이터베이스 > 스토리리 > 스토리지 사용자 지정 섹션)의 로그인 프로젝트 설정에서 소셜 로그인 URL을 지정하십시오. 소셜 네트워크에서 받은 데이터가 포함된 요청이 이 URL로 전송됩니다.
인증 절차:
- 클라이언트가 엑솔라 로그인 서버에
Auth via social network POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수:response_type
JWT 승인 유형,code
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.state
- 추가 사용자 인증에 사용되는 값. 본문 매개 변수:CSRF 공격을 방지하는 데 필요. 응답으로 반환됩니다. 허용 길이: 1~8자.
provider_name
경로 매개 변수 - 관리자 페이지의 로그인에 연결된 소셜 네트워크의 이름. 예제:amazon
,apple
,xsolla
,baidu
,battlenet
,discord
,epicgames
,facebook
,github
,google
,kakao
,linkedin
,mailru
,microsoft
,msn
,naver
,ok
,paypal
,qq
,reddit
,steam
,twitch
,twitter
,vimeo
,vk
,wechat
,weibo
,xbox
,yahoo
,yandex
,youtube
.
- 사용자가 소셜 네트워크에 로그인합니다.
- 엑솔라 로그인 서버는 소셜 네트워크에서 수신한 사용자 데이터를 처리하고 소셜 로그인 URL로 웹훅을 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는
partner_data
필드에 기록됩니다.
사용자 데이터는 임시 게이트웨이 토큰(“request_type”: “gateway_token”
이 있는 서버 토큰)으로Authorization
헤더에 전달됩니다.
게이트웨이 토큰의 주요 필드:
청구 | 유형 | 설명 |
---|---|---|
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으로 이메일을 보내세요. |
토큰 페이로드 예제:
- json
1{
2 "exp": 1573635020,
3 "iat": 1573634600,
4 "iss": "https://login.xsolla.com",
5 "request_type": "gateway_request",
6 "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
7 "sub": "00000000-0000-0000-0000-000000000000",
8 "email": "example@test.com",
9 "username": "Smith707",
10 "provider": "google",
11 "id": "123",
12}
소셜 로그인 URL 웹훅 예시:
http
- http
- curl
1POST https://your.hostname/your_social_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
1curl --request POST \
2 --url 'https://your.hostname/your_social_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json'
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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}
- 사용자 인증에 실패한 경우 인증 위젯에 표시할 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에 다음 세부 정보와 함께
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서 오류 메시지 텍스트를 제공합니다.
사용자 암호 재설정
- 클라이언트가 엑솔라 로그인 서버에
Reset password POST
요청을 전송합니다. 요청에는 다음과 같은 필수 매개 변수가 포함되어야 합니다.projectId
쿼리 매개 변수 - 관리자 페이지의 로그인 프로젝트 ID.username
본문 매개 변수 - 사용자 이름. 허용 길이: 3~255자.
- 엑솔라 로그인 서버는 사용자에게 암호 재설정 확인 이메일을 전송합니다.
- 이메일에서 암호 재설정을 확인하면 사용자는 새 암호를 입력할 수 있는 페이지로 리디렉션됩니다.
- 사용자가 새 암호를 입력합니다.
- 엑솔라 로그인 서버가 암호 재설정 URL로 웹훅을 전송합니다.
- 암호 재설정에 실패한 경우 인증 위젯에 표시되는 오류 메시지를 제공할 수 있습니다. 이렇게 하려면 사용자 생성 요청에 대한 응답에서 다음 세부 정보가 포함된
error
개체를 전달합니다.code
매개 변수에서 오류 코드(예:011-002
)를 지정합니다.description
매개 변수에서 오류 메시지 텍스트를 제공합니다.
암호 재설정 URL 웹훅 예시:
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"}}'
토큰 새로 고침
- 액세스 토큰이 만료되는 경우, 클라이언트가 엑솔라 로그인 서버에 JWT 생성
POST
요청을 전송합니다. 요청 본문에는 다음 매개 변수가 포함되어야 합니다.grant_type
- JWT 승인 유형,refresh_token
값을 전달합니다.client_id
- OAuth 2.0 클라이언트 ID.refresh_token
- 사용자 인증 요청에 대한 응답으로 받은 토큰을 새로 고칩니다.
- 엑솔라 로그인 서버는 소셜 네트워크에서 수신한 사용자 데이터를 처리하고 웹훅을 토큰 새로 고침 URL로 전송합니다. 응답은 상호작용 절차에 설명된 형식으로 되어 있어야 합니다. 응답에서 사용자 특성 목록 및/또는 필요한 JSON 개체를 지정할 수 있습니다. 응답에 제공한 JSON 개체는 사용자 JWT의
partner_data
필드에 기록됩니다.
- http
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
사용자 특성이 포함된 웹훅에 대한 응답의 예시:
- json
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 개체가 포함된 웹훅에 대한 응답의 예시:
- json
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일오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.