싱글 사인 온
작동 방식
사용자 인증용 일반 단일 계정에 복수의 서비스가 연결되어 있는 경우, 싱글 사인 온을 사용할 수 있습니다. 게임 웹사이트는 서비스로써 작동증용 일반 단일 계정에 복수의 서비스가 연결되어 있는 경우, 싱글 사인 온을 사용할 수 있습니다. 게임 웹사이트는 서비스로써 작동하므로 사용자는 자격 증명을 1회만 입력해도 됩니다. 그 이후로는, 연결된 서비스 중 하나를 열 때 사용자 인증은 이미 이루어진 것입니다.
상호작용 절차
- 미인증 사용자가 서비스 중 하나를 엽니다.
- 클라이언트가
Check user authentication 요청을 엑솔라 로그인 서버로 보내고 에러 401이 발생합니다. - 클라이언트가 사용자 인증 양식(로그인 위젯 혹은 로그인 UI)을 엽니다 .
- 사용자는 사용자 이름과 비밀번호 혹은 SNS를 통해 인증합니다.
- 클라이언트는 로그인 프로젝트에서 사용자를 인증합니다:사용자 세션 데이터는 엑솔라 로그인 서버에 저장됩니다. 서버는 login_uri를 보내는데 이는 redirect_uri를 포함하며 code가 쿼리 매개변수에 있습니다.
- 클라이언트는 사용자를
redirect_uri 로 리디렉션 시킵니다. - 서버는
Generate JWT 요구를 보내서 JWT를 위한code 를 교환합니다. 사용자는 서비스 상에서 인증됩니다. - 사용자가 다른 서비스를 엽니다.
- 클라이언트는
Check user authentication 요청을 엑솔라 로그인 서버로 보내고login_uri 를 받는데 이는redirect_uri 를 포함하며 쿼리 매개변수에code 를 동반합니다. - 서버는
Generate JWT 요청을 보내서 JWT를 위한 수신한code 를 교환합니다. 사용자는 두 번째 서비스 상에서 인증됩니다.
상이한 서비스에 대한 접근권 구분
상이한 서비스에 대한 사용자 계정 접근권을 구분하기 위하여 다른 OAuth 2.0 클라이언트에
사용자
로그인을 통합하고 엑솔라 데이터베이스 혹은 PlayFab을 사용하는 파트너.
획득 방법
싱글 사인 온 연결 방법:
OAuth 2.0 프로토콜 연결
지침를 따라 OAuth 2.0 프로토콜을 연결합니다. 모든 서비스에 하나의 OAuth 2.0 클라이언트를 사용하거나 모든 서비스 하나하나를 위한 별도의 OAuth 2.0 클라이언트를 생성할 수 있습니다.
사용자 세션 가져오기 요청 호출
서비스를 열 때
요청 사례:
- http
GET /api/oauth2/sso?client_id=<client_id>&redirect_uri=<redirect_uri>&scope=<scope>&state=<state>&response_type=code HTTP/1.1
Host: login.xsolla.com
사용자 인증 시 응답 예제:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"login_url": "<redirect_uri>?code=<code>"
}
사용자 JWT 획득 방법:
- 클라이언트는 사용자를 수신한 redirect_uri로 리디렉션하는 요청을 구현하고 적용합니다.
- 서버는 JWT를 얻기 위해
Generate JWT 요청과 함께 수신한 code 및 grant_type=authorization_code를 보냅니다.
사용자 인증 실패 시 응답 예제:
- http
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": {
"code": "003-040",
"description": "User is unauthorized."
}
}
이 기사가 도움이 되었나요?
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.