인증

저희가 제공하는 방법 안내서에서 고급 설정에 대해 자세히 알아보세요.

OAuth 2.0 인증 설정 방법

OAuth 2.0는 수명이 긴 토큰을 사용하는 대신 장기간 권한 부여(갱신 토큰)를 위해 수명이 짧은 토큰을 사용합니다. 갱신 토큰을 사용하면 사용자는 사용자 이름과 비밀번호 재입력을 하지 않고도 연장된 시간 동안 내 애플리케이션에 머물 수 있습니다. 이는 사용자 인증 데이터를 손상할 위험을 제거합니다.

권한 부여를 위한 OAuth 2.0 설정:

  • 사용자 이름 또는 이메일 및 암호를 통해
  • SNS를 통해
  • Steam을 통해

옵션을 활성화하면 사용자 등록 및 인증은 Register new userJWT auth by username and password API 호출을 통하여 진행됩니다. Login & Account System 플러그인은 OAuth 2.0 권한 부여에 대하여 JWT 토큰 권한 부여와 같은 메소드를 제공합니다. FXsollaAuthToken 구조에서, 갱신 토큰은 RefreshToken 필드에 명시됩니다.

Note
본 인증을 사용하여도 여러분 애플리케이션에서의 사용자 등록은 바뀌는 부분이 없습니다.

OAuth 2.0 권한 부여 구성:

  1. 게시자 계정에서 로그인 프로젝트를 위한 OAuth 2.0 인증 설정을 합니다.
  2. UE4 프로젝트에 플러그인 설정을 합니다.

게시자 계정에서 로그인 프로젝트를 위한 OAuth 2.0 인증 설정

  1. 게시자 계정으로 이동하세요.
  2. 열기로그인 블록에서 클릭해서 로그인 프로젝트로 이동하세요.
  3. 열기 및 설정을 로그인 프로젝트 블록에서 클릭합니다.
  4. 일반 설정 > 권한 부여로 이동합니다.
  5. 연결OAuth 2.0 인증 블록에서 클릭합니다.
  6. OAuth 2.0 리디렉션 URI을 지정하고 연결을 클릭합니다.
  7. 클라이언트 ID를 복사 및 저장합니다.

UE4 프로젝트의 플러그인 설정

  1. 언리얼 편집기에서 UE4 프로젝트를 엽니다.
  2. Settings > Project Settings > Plugins > Xsolla Login으로 이동합니다.
  3. Use OAuth 2.0 옵션을 활성화합니다.
  4. Client ID 필드에서, 게시자 계정에서 OAuth 2.0을 설정할 때 받은 클라이언트 ID를 지정합니다.

갱신 토큰을 사용하려면 Login & Account System 플러그인에서 다음 메소드를 구현합니다.

  • RefreshToken — 만료된 경우 토큰을 갱신합니다.
  • ExchangeAuthenticationCodeToToken — 유효한 JWT에 대하여 사용자 인증 코드를 교환합니다.

RegisterUser, GetSocialAuthenticationUrl AuthenticateWithSessionTicket 메소드에서 찾은 State 매개 변수는 OAuth 2.0 인증 중에 추가 사용자 검증에 사용됩니다. 이 매개 변수는 발생 가능한 CSRF 공격을 완화하기 위해 사용됩니다.

이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
숨기기

독자적인 로그인 시스템 사용 방법

Notice
다음 플러그인으로만 작업 시 이 방법 안내서를 사용합니다.
  • Game Commerce
  • Cross-Buy

Game Commerce와 Cross-Buy 플러그인을 자체 로그인 시스템과 통합할 수 있습니다. 이렇게 하려면, 페이 스테이션 액세스 토큰을 통해 여러분의 애플리케이션에서 사용자 인증 기능을 구현해야 합니다. 인게임 스토어 문서의 인증 알고리즘을 참고하세요.

자체적인 로그인 시스템 사용 방법:

  1. UE4 프로젝트용 플러그인 구성.
  2. 페이 스테이션 액세스 토큰 처리 로직 구현.

UE4 프로젝트 플러그인 구성

  1. 언리얼 편집기에서 프로젝트를 엽니다.
  2. Settings > Project Settings > Plugins > Xsolla Login로 이동합니다.
  3. Custom Auth Via Access Token 박스를 체크합니다.
  4. Custom Auth Server URL 플드에서, 인증 서버 주소를 명시합니다.

페이 스테이션 액세스 토큰 처리 로직

  1. 인증을 위해서는 애플리케이션 서버 측으로부터 수신한 페이 스테이션 액세스 토큰을 반환하는 GetAccessTokenFromCustomAuthServer메소드를 사용하세요.
  2. JWT 토큰 대신에 Game Commerce 혹은 Cross-Buy 플러그인 메소드의 토큰을 사용합니다.
  3. 만료 후 새 페이 스테이션 액세스 토큰을 수신하는 로직을 구현합니다. 새 토큰을 백그라운드 모드에서 수신하여 사용자가 애플리케이션에 다시 로그인하지 않아도 되게 할 것을 권장합니다.

Note
페이 스테이션 액세스 토큰을 인게임 스토어 및 인벤토리와 같이 사용하는 경우 엑솔라 API로의 마지막 호출 후 1시간이 지나면 만료됩니다. 페이 스테이션 액세스 토큰의 수명을 변경하려면, 계정 관리자에게 문의하세요.
이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
숨기기

SNS를 통한 고유 인증 설정 방법

고유 인증은 소셜 네트워크 계정을 사용하는 설치된 애플리케이션을 통해 플레이어가 귀하의 애플리케이션에 로그인할 수 있도록 해 줍니다. 현재 SDK가 고유 인증 구현에 이용하고 있는 소셜 네트워크:

  • Google
  • Facebook

Note
소셜 네트워크를 통한 고유 인증 사용 가능:
  • UE4용 Game Commerce 플러그인 버전 0.5.7 이상
  • UE4용 Login & Account System 플러그인 버전 0.3.0 이상
  • UE4용 Cross-Buy 플러그인 버전 0.3.0 이상

고유 인증 구성 방법:

  1. Android용 UE4 프로젝트 빌드를 생성합니다.

Note
추가 고유 인증 구성을 하려면 Android Package Name ('com.YourCompany.Project' [PROJECT] is replaced with project name) 필드의 Edit > Project Settings > Platforms > Android 섹션에서 찾을 수 있는 Android 애플리케이션의 패키지 이름이 필요합니다.

  1. Facebook을 통한 고유 인증의 경우 Facebook 개발자 계정과 새 애플리케이션을 만드십시오.
  2. Facebook 개발자 계정에서 애플리케이션 페이지를 설정하십시오.
  3. Google을 통한 고유 인증의 경우 Google API 콘솔에서 프로젝트를 설정하십시오.
  4. 게시자 계정에서 로그인 프로젝트용 SNS 연결을 설정하십시오.
  5. UE4 프로젝트용 플러그인을 설정하십시오.

Facebook 개발자 계정의 어플리케이션 페이지 설정

  1. Facebook 개발자 계정의 프로젝트 설정으로 이동합니다.
  2. 설정 > 기본으로 이동합니다.
  3. 플랫폼 추가를 클릭하고 Android를 선택합니다.
  4. Google Play 패키지 이름 필드에서 Android 애플리케이션 패키지 이름을 지정합니다.
  5. 활동의 정규화된 클래스 이름을 클래스 이름 필드에서 지정합니다(기본값은 com.epicgames.ue4.GameActivity입니다).
  6. 해시 키를 생성하고 키 해시 필드에서 이를 지정합니다.
  7. 변경 내용 저장을 클릭합니다.

추가 고유 인증 구성을 위해서는 설정 > 기본 섹션의 프로젝트 설정에 있는 앱 ID앱 시크릿 코드가 필요합니다.

Google API 콘솔에서 프로젝트 설정

  1. Google API 콘솔로 이동합니다.
  2. 새 프로젝트를 클릭합니다.
  3. 프로젝트 이름위치를 지정하고 저장을 클릭합니다.
  4. 만든 프로젝트로 이동하여 OAuth 동의 화면을 측면 메뉴에서 클릭합니다.
  5. 외부 옵션을 선택하고 생성을 클릭합니다.
  6. 필요한 매개 변수를 지정하고 저장을 클릭합니다.
  7. 측면 메뉴에서 자격 증명을 클릭합니다.
  8. Android 앱용 OAuth 2.0 클라이언트 생성 방법:

    1. 자격 증명 생성을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
    2. Android애플리케이션 유형 필드에서 지정합니다.
    3. 이름을 지정합니다.
    4. Android 애플리케이션의 패키지 이름을 패키지 이름 필드에서 지정합니다.
    5. SHA-키를 가져옵니다.
    6. 전 단계 SHA-키에서 생성된 SHA-키를 SHA-1 인증 지문 필드에서 지정합니다.
    7. 생성을 클릭합니다.
    8. 확인을 클릭합니다.

  1. 웹 애플리케이션용 OAuth 2.0 클라이언트 생성 방법:
    1. 자격 증명 생성을 클릭하고 OAuth 클라이언트 ID를 선택합니다.
    2. 웹 애플리케이션애플리케이션 유형 필드에서 지정합니다.
    3. 이름을 지정합니다.
    4. URI 추가권한이 부여된 리디렉션 URI 섹션에서 클릭하고 https://login.xsolla.com/api/social/oauth2/callback URI을 지정합니다.
    5. 생성을 클릭합니다.
    6. 확인을 클릭합니다.

추가 고유 인증 구성을 위해서는 웹 어플리케이션의 클라이언트 ID 설정에서 Client IDClient Secret가 필요합니다.

엑솔라 게시자 계정에서 로그인 프로젝트용 SNS 설정

  1. 게시자 계정에서 프로젝트를 엽니다.
  2. 로그인을 사이드 메뉴에서 클릭하고 로그인 프로젝트 > 나의 로그인 프로젝트 > SNS 연결로 이동합니다.
  3. Facebook을 통해 인증 설정 방법:

    1. 편집Facebook 패널에서 클릭하고 상태를 연결 끊김으로 변경합니다.
    2. Facebook 개발자 계정의 앱 ID애플리케이션 ID 필드에서 지정합니다.
    3. Facebook 개발자 계정의 앱 암호애플리케이션 암호 필드에서 지정합니다.
    4. 연결을 클릭합니다.

  1. Google을 통한 인증 설정 방법:
    1. 편집Google 패널에서 클릭하고 상태를 연결 끊김으로 변경합니다.
    2. Google API 콘솔의 웹 애플리케이션용 클라이언트 ID애플리케이션 ID 필드에서 지정합니다.
    3. Google API 콘솔의 웹 애플리케이션용 클라이언트 암호애플리케이션 암호 필드에서 지정합니다.
    4. 연결을 클릭합니다.

UE4 프로젝트용 플러그인 설정

  1. UE4 프로젝트로 이동합니다.
  2. Settings > Project Settings > Plugins > Xsolla Login > Xsolla Login Android로 이동합니다.
  3. Allow Native Auth 상자를 체크합니다.
  4. Facebook 개발자의 앱 IDFacebook App Id 필드에서 지정합니다.
  5. Google API 콘솔의 웹 애플리케이션용 클라이언트 IDGoogle App Id 필드에서 지정합니다.

이 기사가 도움이 되었나요?
감사합니다!
개선해야 할 점이 있을까요? 메시지
유감입니다
이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
숨기기

Steam을 통한 네이티브 인증 설정 방법

설치된 Steam 클라이언트를 거쳐 네이티브 인증을 통해 플레이어가 여러분의 애플리케이션에 진입할 수 있습니다. Steam을 통해 네이티브 인증을 설정한 후 또한 Steam을 거쳐 애플리케이션에 결제를 추가할 수 있습니다.

네이티브 인증 설정 방법:

  1. 게시자 계정에서 Steam을 통한 암묵 인증 설정.
  2. UE4 프로젝트 구성.
  3. 이벤트 처리 구성.
  4. Steam을 통한 인증 확인.

내 UE4 프로젝트 구성하기

  1. 내 UE4 project의 Config 카탈로그로 이동합니다.
  2. DefaultEngine.ini 파일 아래에 줄을 추가하고 SteamDevAppId 매개변수에 대해 Steam의 내 앱 ID를 지정합니다.

Copy
Full screen
Small screen
    [/Script/Engine.GameEngine]
    +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
    
    [OnlineSubsystem]
    DefaultPlatformService=Steam
    
    [OnlineSubsystemSteam]
    bEnabled=true
    SteamDevAppId=480
    
    [/Script/OnlineSubsystemSteam.SteamNetDriver]
    NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

    1. 언리얼 에디터에서 프로젝트를 엽니다.
    2. Settings > Plugins > Online Platform으로 이동합니다.
    3. Online Subsystem Steam 모듈에서 Enabled 박스에 체크를 하고 Restart Now 버튼을 눌러 설정을 저장한 다음 언리얼 에디터를 다시 로드합니다.

    이벤트 처리 구성하기

    1. 아래 이미지에 프로젝트에 노드 추가 방법이 있습니다.

      Steam을 통해 사용자를 인증하려면, session ticketGetSessionTicket 메소드를 통해 받아야 합니다. 받은 값은 AuthenticateWithSessionTicket 메소드 호출 시 전달합니다. 그 결과로, API호출 시 쓰이는 토큰을 얻게 됩니다.

    1. 추가적인 토큰 검증을 위해, ValidateToken 메소드 콜백을 추가합니다 (선택 사항).

    Steam을 통한 인증 확인

    1. 단독 플랫폼을 위한 UE4 프로젝트 빌드 생성.
    2. Steam 실행 후 로그인.
    3. 내 애플리케이션 실행. 모든 것이 정상이면 Steam 팝업 창이 나타납니다.

    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    숨기기

    토큰 무효화 설정 방법

    토큰 무효화를 통해 여러분 애플리케이션 상의 사용자 인증 데이터의 보안을 개선할 수 있습니다. 옵션을 사용하는 경우, 매번 사용자 인증 시마다 새로운 토큰이 무효화 될 기존 토큰을 대체하게 됩니다.

    Note
    JWT 토큰을 사용하는 인증의 무효화를 구성할 수 있습니다. OAuth 2.0 인증의 경우, 토큰 무효화는 프로토콜 자체에서 제공되며 별도로 구성할 필요는 없습니다.

    SDK 사용 시, 기존 토큰의 무효화 및 신규 토큰의 생성은 Auth by username and passwordAuth via social network API 호출을 호출하여 이루어지게 되는데, with_logout 매개변수 값이 1 인 경우에 한합니다.

    UE4 프로젝트에서 토큰 무효화 활성화 방법:

    1. Settings > Project Settings > Plugins > Xsolla Login로 이동.
    2. Invalidate Existing Sessions 옵션 활성화.

    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    숨기기

    런처를 통해 애플리케이션에서 권한 부여 설정 방법

    엑솔라 런처를 사용하여 여러분의 애플리케이션을 사용자에게 전달하고 업데이트할 수 있습니다. 런처는 인증 도구를 내장하고 있습니다. 사용자 이름과 비밀번호의 재입력을 피하기 위하여 런처를 통하여 여러분 애플리케이션에서 인증하도록 설정하세요.

    Notice
    런처를 사용하려면 로그인을 구현해야 합니다. 다른 권한 부여 시스템을 사용하는 것은 지원되지 않습니다.

    함께 작업하기 위한 SDK와 런처를 설정

    1. 런처 설정은 게시자 계정에서 합니다.

    Note
    config.json 파일에서, 다음 객체의 값을 바꾸는 것으로 충분합니다:
    • launcher_project_id런처 ID게시자 계정 > 런처 > 일반 설정 > 일반 정보에서 명시하며
    • login_project_id로그인 ID게시자 계정 > 런처 > 일반 설정 > 인증에서 명시합니다

    1. 런처 UI 맞춤 설정.

    Notice
    엑솔라 서버와 SDK 통합은 Commerce API 호출이 사용하므로 런처 스토어는 지원되지 않습니다.

    1. 런처 권한 부여 로직을 귀하의 애플리케이션에서 구현합니다.
    2. 런처 설치 파일 및 빌드 아카이브를 생성합니다.
    3. 애플리케이션 빌드를 생성합니다.
    4. 엑솔라 업데이트 서버에 애플리케이션 빌드를 업로드합니다.

    런처를 통해 권한 부여 로직 구현

    애플리케이션이 시작하면, 런처는 커맨드 라인을 통해 매개변수를 전달합니다. 인증 토큰은 xsolla-login-token 매개변수로 전달됩니다. 수신한 토큰을 검증합니다. 토큰 검증에 성공하면, 애플리케이션에서 사용자를 승인합니다.

    데모 프로젝트의 W_LoginDemo 청사진에서 설명된 로직 구현의 예제를 봅니다.

    애플리케이션 빌드 만들기

    1. UE4 프로젝트로 이동합니다.
    2. Content Browser에서 사용자 권한 부여 맵을 여는데, 이는 토큰이 처리되고 있는 곳입니다.
    3. 메인 메뉴에서 Edit > Project Settings으로 이동합니다.
    4. Project> Maps & Modes로 이동한 다음 Game Default Map 필드에서 전에 열었던 권한 부여 맵을 선택합니다.

    1. Plugins > Xsolla Login로 이동.
    2. Project ID 필드에서, 프로젝트 ID를 명기하는데 이는 게시자 계정 > 프로젝트 설정 > 프로젝트 ID에 있습니다.
    3. Login ID 필드에서, 로그인 ID를 명기하는데, 이는 게시자 계정 > 런처 > 일반 설정 > 인증에 있습니다.
    4. 여러분이 빌드를 생성하는 플랫폼에 따라 메인 메뉴의 File > Package Project > Windows (64 bit)혹은 File > Package Project > Mac로 이동합니다.
    5. 팝업 창에서, 최종 빌드가 저장될 디렉토리의 경로를 지정합니다.

    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    숨기기
    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    이 페이지 평가
    이 페이지 평가
    개선해야 할 점이 있을까요?

    답하기 원하지 않습니다

    의견을 보내 주셔서 감사드립니다!
    마지막 업데이트: 2021년 6월 17일

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

    문제 보고
    콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
    후속 조치를 위해 이메일을 제공해 주세요
    의견을 보내 주셔서 감사드립니다!