CmlLib
한국어 (v4)
한국어 (v4)
  • 🧊CmlLib Projects
  • [AD] 커스텀 런처 주문제작
  • 🚀CmlLib.Core
    • 홈
    • 시작하기
      • 런처
      • 게임 경로 설정
      • 버전
      • 실행 옵션 설정
      • 이벤트 처리
    • 로그인과 세션
      • 마이크로소프트 엑스박스 계정
      • 오프라인 계정
    • 고급 기능
      • MinecraftLauncherParameters
      • Rules
      • FileExtractor
      • GameInstaller
      • Java
    • 모드 로더 인스톨러
      • Forge Installer
      • Fabric Installer
      • Quilt Installer
      • LiteLoader Installer
    • 유틸리티
      • Minecraft Changelogs
    • 자료
      • 자주 묻는 질문
      • 알려진 문제
      • 예시 런처
      • 라이센스
  • 🔓Auth.Microsoft
    • 홈
    • CmlLib.Core.Auth.Microsoft
      • JELoginHandler
      • JELoginHandlerBuilder
      • JEAuthenticator
      • Authentication with MSAL
    • XboxAuthNet.Game
      • OAuth
      • XboxAuth
      • XboxAuthException
      • AccountManager
      • Accounts
    • XboxAuthNet.Game.Msal
      • ClientID
      • MsalClientHelper
      • OAuth
    • CmlLib.Core.Bedrock.Auth
    • 자료
  • 🌐MojangAPI
    • 홈
    • Mojang API
    • SecurityQuestion
  • ⚒️Installer.Forge
    • 홈
    • 지원되는 버전
    • 시작하기
    • MForge
    • ForgeVersionLoader
Powered by GitBook
On this page
  • Example
  • Basic
  • Full
  • Sisu
  • Device Options
  • Token Prefix
  • 오류 처리
Edit on GitHub
  1. Auth.Microsoft
  2. XboxAuthNet.Game

XboxAuth

Xbox Authentication

Xbox 로그인을 진행하는 방법을 나타냅니다.

Example

var authenticator = // create authenticator using login handlers
authenticator.AddXboxAuthForJE(xbox => xbox.Basic());
//authenticator.AddXboxAuth(xbox => xbox.Basic(XboxAuthConstants.XboxLiveRelyingParty));

Basic

authenticator.AddXboxAuthForJE(xbox => xbox.Basic());
//authenticator.AddXboxAuth(xbox => xbox.Basic("relyingParty"));

가장 기본적인 방식입니다. 로그인에 필요한 최소 정보(UserToken, XstsToken)만 받아옵니다.

나이 인증이 되지 않은 계정, 18세 미만인 계정은 이 방식으로 로그인할때 문제가 발생할 수 있습니다. (오류 코드 8015dc0c, 8015dc0d, 8015dc0e) Full 방식이나 Sisu 방식을 사용하면 이 문제를 해결할 수 있습니다.

Full

authenticator.AddXboxAuthForJE(xbox => xbox.Full());
//authenticator.AddXboxAuth(xbox => xbox.Full("relyingParty"));

UserToken, DeviceToken, XstsToken 를 받아옵니다.

Sisu

authenticator.AddXboxAuthForJE(xbox => xbox.Sisu(XboxGameTitles.MinecraftJava));
//authenticator.AddXboxAuth(xbox => xbox.Sisu("relyingParty",  "<CLIENT-ID>"));

SISU 로그인 방식을 사용합니다. UserToken, DeviceToken, TitleToken, XstsToken 모든 토큰을 받아옵니다. 대부분의 나이 관련 문제는 이 방식으로 해결할 수 있습니다.

이 방식은 <CLIENT-ID> 가 엑스박스 게임과 관련된 것일때만 작동합니다. (예시: 마인크래프트 런처에서 사용하는 CLIENT-ID)

개인이 발급한 Azure ID 를 사용할 수 없습니다. 즉 XboxAuthNet.Game.Msal 와 함께 사용할 수 없습니다.

Device Options

authenticator.AddXboxAuth(xbox => xbox
    .WithDeviceType(XboxDeviceTypes.Win32)
    .WithDeviceVersion("0.0.0")
    .Full("relyingParty"));

DeviceToken 을 받아오는 로그인 방식을 사용할 때, Device 설정을 적용할 수 있습니다. 로그인 방식을 정하기 전에 .WithDeviceType(), .WithDeviceVersion() 을 호출하세요.

Token Prefix

authenticator.AddXboxAuth(xbox => xbox
    .WithAzureTokenPrefix()
    .Full("relyingParty"));

WithAzureTokenPrefix() 는 Azure 클라이언트를 통해 Microsoft OAuth 세션을 얻은 경우 (MSAL 로 로그인), WithXboxTokenPrefix() 는 엑스박스 게임 관련 클라이언트를 통해 Microsoft OAuth 세션을 얻은 경우 (예시: JELoginHandler.DefaultMicrosoftOAuthClientInfo) 사용합니다. WithTokenPrefix("t=") 처럼 TokenPrefix 를 직접 설정할 수 있습니다.

오류 처리

Xbox 인증 시 다양한 오류 시나리오가 있습니다. 인증 시 오류가 발생하면 XboxAuthException 이 발생하며 ErrorCode 와 ErrorMessage 를 얻을 수 있습니다.

모든 ErrorCode 는 XboxAuthException 에서 확인할 수 있습니다.

PreviousOAuthNextXboxAuthException

Last updated 3 months ago

🔓