XboxAuth¶
Приклад¶
var authenticator = // створення автентифікатора з використанням 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> пов'язаний з грою Xbox (наприклад, CLIENT-ID, який використовується офіційним лаунчером Minecraft).
Ви не можете використовувати особисто створений Azure ID, тобто цей метод не можна використовувати разом із MSAL.
Параметри пристрою (Device Options)¶
authenticator.AddXboxAuth(xbox => xbox
.WithDeviceType(XboxDeviceTypes.Win32)
.WithDeviceVersion("0.0.0")
.Full("relyingParty"));
Під час використання методу автентифікації, який отримує DeviceToken, ви можете застосувати налаштування пристрою. Викличте .WithDeviceType() та .WithDeviceVersion() перед викликом методу автентифікації.
Обробка помилок (Handling errors)¶
Під час автентифікації в Xbox можуть виникати різні сценарії помилок. Якщо під час автентифікації виникає помилка, викидається виняток XboxAuthException, із якого ви можете отримати ErrorCode та ErrorMessage.
Усі коди помилок (ErrorCodes) можна знайти у розділі XboxAuthException.