OAuth¶
Описує спосіб виконання Microsoft OAuth через MSAL.
Перед використанням ви ОБОВ'ЯЗКОВО повинні ініціалізувати IPublicClientApplication за допомогою ВАШОГО CLIENT ID!
Приклад¶
JELoginHandler з MSAL OAuth.
using XboxAuthNet.Game.Msal;
var app = await MsalClientHelper.BuildApplicationWithCache("<CLIENT-ID>");
var loginHandler = JELoginHandlerBuilder.BuildDefault();
var authenticator = loginHandler.CreateAuthenticatorWithNewAccount(default);
authenticator.AddMsalOAuth(app, msal => msal.Interactive());
authenticator.AddXboxAuthForJE(xbox => xbox.Basic());
authenticator.AddJEAuthenticator();
var session = await authenticator.ExecuteForLauncherAsync();
Interactive¶
Запитує в користувачів введення даних облікового запису Microsoft. Спосіб відображення сторінки входу визначається за допомогою MSAL.
EmbeddedWebView¶

Пропонує користувачеві увійти в обліковий запис Microsoft. Використовує WebView2 для відображення сторінки входу.
SystemBrowser¶

Пропонує користувачеві увійти в обліковий запис Microsoft. Відкриває системний браузер за замовчуванням для відображення сторінки входу.
Silent¶
Намагається виконати вхід за допомогою даних облікового запису, збережених у кеші MSAL.
DeviceCode¶
authenticator.AddMsalOAuth(app, msal => msal.DeviceCode(deviceCode =>
{
Console.WriteLine(deviceCode.Message);
return Task.CompletedTask;
}));
Спроба виконати вхід за допомогою методу DeviceCode (код пристрою). Цей метод не вимагає наявності веббраузера або графічного інтерфейсу (UI) на клієнтському пристрої, але дозволяє увійти з іншого пристрою.
Якщо ви створюєте лаунчер, який працює лише в консольному середовищі або без графічного інтерфейсу, використовуйте цей метод для входу. Вхід можна виконати з абсолютно іншого пристрою, ніж той, на якому запущено ваш лаунчер (наприклад, з мобільного телефону).
Приклад коду виводить у консоль наступне повідомлення:
To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code XXXXXXXX to authenticate.
FromResult¶
var result = await app.AcquireTokenInteractive(MsalClientHelper.XboxScopes).ExecuteAsync();
authenticator.AddMsalOAuth(app, msal => msal.FromResult(result));
Використовує готовий результат автентифікації MSAL.