자체 OAuth 2.0 공급자를 통한 인증
작동 방식
OAuth 2.0 프로토콜을 사용하여 소셜 네트워크를 통한 사용자 인증을 추가할 수 있습니다. 인증 위젯에 소셜 네트워크 버튼을 활성화하려면 관리자 페이지에서 제공자 세부 정보를 지정하세요.

인증 플로
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
actor User as User
participant TP as 3rd party
participant XL as Xsolla Login
participant OP as Partner OAuth2 Server
User->>TP: Clicks login button
TP->>XL: Calls Auth via social network (Xsolla Login API)
XL->>OP: Calls partner's Authorization URL
alt Success
OP-->>XL: Sends authorization code to https://login.xsolla.com/api/social/callback
else Dependency service unavailable
OP-->>XL: Sends "Dependency service unavailable" error. Error code = "010-035"
end
XL->>OP: Calls partner's Token URL to exchange authorization code to access token
alt Success
OP-->>XL: Sends access token
else Error getting token
OP-->>XL: Sends "Error occurred while getting OAuth 2.0 Access token" error. Error code = "010-015"
end
XL->>OP: Calls partner's Your info URL to get user data
alt Success
OP-->>XL: Sends user data
else Error getting profile
OP-->>XL: Sends "Failed to get social profile" error. Error code = "010-036"
end
XL-->>TP: Returns Xsolla Login token
TP-->>User: User is authenticated
최초 로그인 플로
사용자가 인증 위젯에서 [Your Platform]으로 로그인 버튼을 클릭합니다.
사용자가 로그인 또는 동의 페이지로 리디렉션됩니다 (주소는 설정의 인증 URL 입력란에 지정됨).
사용자가 자격 증명을 입력하고 시스템에서 액세스를 승인합니다.
시스템이 인증 코드를 사용하여 사용자를 엑솔라로 다시 리디렉션합니다.
엑솔라는 코드를 액세스 토큰으로 교환하기 위해 시스템에 연락합니다 (주소는 설정의 토큰 URL 입력란에 지정됨).
엑솔라는 액세스 토큰을 사용하여 시스템에서 사용자 프로필 데이터(ID, 이메일 등)를 가져옵니다 (주소는 설정의 Your info URL 입력란에 지정됨).
사용자가 인증된 엑솔라 사용자로 로그인되고 애플리케이션으로 돌아갑니다.
재방문 사용자 플로
사용자가 인증 위젯에서 [Your Platform]으로 로그인 버튼을 클릭합니다.
사용자가 로그인 또는 동의 페이지로 리디렉션됩니다 (주소는 설정의 인증 URL 입력란에 지정됨).
시스템이 활성 세션을 인식하고 자격 증명 화면을 건너뜁니다. 시스템이 매 방문 시 재인증을 요구하는 경우, 사용자는 로그인 양식을 다시 보게 됩니다.
시스템이 사용자가 요청된 권한 범위를 이전에 승인했는지 확인합니다. 동의가 이미 주어졌고 취소되지 않은 경우, 동의 화면을 건너뜁니다.
시스템이 인증 코드를 사용하여 사용자를 엑솔라로 다시 리디렉션합니다.
엑솔라는 코드를 액세스 토큰으로 교환하기 위해 시스템에 연락합니다 (주소는 설정의 토큰 URL 입력란에 지정됨).
엑솔라는 액세스 토큰을 사용하여 시스템에서 사용자의 현재 프로필 데이터를 가져옵니다 (주소는 설정의 Your info URL 입력란에 지정됨).
사용자가 로그인되고 애플리케이션으로 돌아갑니다. 전체 플로는 일반적으로 몇 초 내에 완료되며 사용자의 가시적인 상호작용이 필요하지 않습니다.
인증 실패
인증 URL 사용 불가 (오류 010-035)
사용자가 인증 위젯에서 [Your Platform]으로 로그인 버튼을 클릭합니다.
사용자가 로그인 또는 동의 페이지로 리디렉션됩니다 (주소는 설정의 인증 URL 입력란에 지정됨).
파트너 OAuth2 서버가 사용 불가 상태이며 오류를 반환합니다.
엑솔라 로그인이 “의존 서비스 사용 불가” 오류(010-035)를 수신하고 진행하지 않습니다.
토큰 교환 실패 (오류 010-015)
사용자가 인증 위젯에서 [Your Platform]으로 로그인 버튼을 클릭합니다.
사용자가 로그인 또는 동의 페이지로 리디렉션됩니다 (주소는 설정의 인증 URL 입력란에 지정됨).
사용자가 자격 증명을 입력하고 시스템에서 액세스를 승인합니다.
시스템이 인증 코드를 사용하여 사용자를 엑솔라로 다시 리디렉션합니다.
엑솔라는 코드를 액세스 토큰으로 교환하기 위해 시스템에 연락합니다 (주소는 설정의 토큰 URL 입력란에 지정됨).
파트너 OAuth2 서버가 토큰 발급에 실패하고 오류를 반환합니다.
엑솔라 로그인이 “OAuth 2.0 액세스 토큰을 가져오는 중 오류 발생” 오류(010-015)를 수신하고 진행하지 않습니다.
사용자 데이터 검색 실패 (오류 010-036)
사용자가 인증 위젯에서 [Your Platform]으로 로그인 버튼을 클릭합니다.
사용자가 로그인 또는 동의 페이지로 리디렉션됩니다 (주소는 설정의 인증 URL 입력란에 지정됨).
사용자가 자격 증명을 입력하고 시스템에서 액세스를 승인합니다.
시스템이 인증 코드를 사용하여 사용자를 엑솔라로 다시 리디렉션합니다.
엑솔라는 코드를 액세스 토큰으로 교환하기 위해 시스템에 연락합니다 (주소는 설정의 토큰 URL 입력란에 지정됨).
엑솔라는 액세스 토큰을 사용하여 시스템에서 사용자 프로필 데이터(ID, 이메일 등)를 가져옵니다 (주소는 설정의 Your info URL 입력란에 지정됨).
파트너 OAuth2 서버가 사용자 데이터를 반환하는 데 실패합니다.
엑솔라 로그인이 “소셜 프로필 가져오기 실패” 오류(010-036)를 수신하고 진행하지 않습니다.
설정 방법
OAuth 2.0을 통한 인증을 활성화하려면:
https://login.xsolla.com/api/social/oauth2/callback을 자체 OAuth 2.0 제공자의 설정에서 허용된 리디렉션 URI로 추가하여 인증 실패를 방지하세요.관리자 페이지에서 프로젝트를 열고 플레이어 > 로그인 섹션으로 이동하세요.
클래식 로그인 옵션의 패널에서 구성을 클릭하세요.
인증 블록으로 이동하여 OAuth 2.0 로그인 연결을 선택하세요.
다음 입력란을 채우세요:
인증 이름 — 관리자 페이지에서 식별에 사용되는 통합 이름입니다. 숫자, 라틴 문자, 하이픈, 밑줄을 포함할 수 있으며 공백 없이 최대 100자까지 가능합니다.
인증 URL — 사용자 인증에 사용되는 메소드의 URL입니다.
토큰 URL — 액세스 토큰을 얻는 데 사용되는 메소드의 URL입니다.
Your info URL — 액세스 토큰을 사용하여 사용자 프로필 데이터(ID 및 이메일 등)를 얻는 데 사용되는 메소드의 URL입니다.
클라이언트 ID — 인증 서버에서 클라이언트의 고유 식별자입니다. 숫자, 라틴 문자, 하이픈, 밑줄을 포함할 수 있으며 공백 없이 최대 255자까지 가능합니다.
클라이언트 비밀 키 — 인증 시스템에서 생성된 고유 ID입니다. 숫자, 라틴 문자, 하이픈, 밑줄을 포함할 수 있으며 공백 없이 8-255자 길이입니다.
권한 범위 — 인증 중 시스템이 사용자로부터 요청하는 액세스 권한 목록입니다 (예:
openid,profile,email).
키 이름 맵을 설정하세요:
시스템에서 이메일 주소의 키 이름을 제공하세요 (선택 사항).
시스템에서 사용자 식별자의 키 이름을 제공하세요.
설정 섹션에서 추가 인증 설정을 지정하세요 (선택 사항):
auth_content_type—Content-Type헤더의 값입니다.auth_header— 사용자 데이터 요청 시 인증 토큰을 전달하는 헤더입니다 (헤더에서 인증).auth_param— 사용자 데이터 요청 시 인증 토큰을 전달하는 쿼리 매개 변수의 이름입니다 (매개 변수에서 인증).token_type— 토큰 유형입니다. 가능한 값:Bearer,OAuth.use_pkce— 인증 중 PKCE (코드 교환을 위한 증명 키) 기술 사용을 나타내는 플래그입니다. 최고 보안 표준을 보장하기 위해 이를 활성화하는 것이 강력히 권장됩니다.
참고키 이름은$.로 시작해야 합니다. 예:$.response[0].email및$.response[0].id.

인증 위젯을 통한 통합을 사용하는 경우, 사용자 정의를 설정하세요:
인증 버튼 이름을 지정하세요. 최대 길이 — 30자.
로고를 업로드하세요. 권장 크기: 24 × 24px. 지원 형식: JPG, PNG 및 SVG.
인증 버튼 색상을 설정하세요.
변경 사항 저장을 클릭하세요.
로그인 API 메소드를 통한 통합을 사용하는 경우,
provider_name에서 제공자 ID 전송을 다음 형식으로 구성하세요:"<authorization_name>-<publisher_id>", 여기서<authorization_name>— 제공자 설정에서 지정한 통합 이름이며,<publisher_id>— 관리자 페이지에서 프로젝트의 ID입니다. 선택한 인증 프로토콜에 따라provider_name매개 변수를 전달하기 위해 다음 메소드를 사용하세요:
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.