Система оффлайн-аутентификации
Эта система аутентификации реализует самые основные функции аутентификации. Обычно используется для локальной отладки и аутентификации.
WARNING
Использование этой системы аутентификации в производственной среде может нарушать законы об авторском праве или лицензионное соглашение с конечным пользователем в некоторых странах и регионах. Для получения дополнительной информации см. Лицензионное соглашение с конечным пользователем Mojang (на английском языке).
Инициализация аутентификатора
Вы можете инициализировать оффлайн-аутентификатор с помощью следующего кода:
var offlineAuthenticator = new OfflineAuthenticator
{
LauncherAccountParser = launcherAccountParser,
Username = "[DISPLAY_NAME]"
};В приведенном выше блоке кода замените эти параметры в соответствии с вашей реальной ситуацией:
| Элемент | Описание |
|---|---|
| launcherAccountParser | Для инициализации парсера учетных записей лаунчера см. здесь |
| [DISPLAY_NAME] | Отображаемое имя в игре, обычно состоящее из английских символов, знаков и цифр |
TIP
Для инициализации launcherAccountParser (парсера игровых профилей) см. страницу Парсер игровых профилей.
Получение результата аутентификации
После завершения инициализации системы аутентификации вам нужно только вызвать метод аутентификации оффлайн-аутентификатора для завершения аутентификации учетной записи.
В асинхронном контексте используйте AuthTaskAsync для завершения аутентификации:
var authResult = await offlineAuthenticator.AuthTaskAsync(false);В синхронном контексте используйте Auth для завершения аутентификации:
var authResult = offlineAuthenticator.Auth();Интерпретация результата аутентификации
После завершения метода аутентификации оно вернет результат аутентификации, который является объектом типа AuthResultBase. Все результаты аутентификации содержат значение перечисления AuthStatus, которое напрямую указывает на успех или неудачу аутентификации. Ниже вы можете увидеть интерпретацию результата аутентификации:
Неудачный результат аутентификации
Определив, является ли Error пустым, вы можете легко определить, является ли результат аутентификации, возвращенный системой аутентификации, действительным. Объект Error будет содержать следующие поля, чтобы сообщить вам некоторые подробности:
| Поле | Описание |
|---|---|
| authResult.Error.Cause | Конкретная причина проблемы |
| authResult.Error.Error | Название ошибки |
| authResult.Error.ErrorMessage | Подробная информация об ошибке, может содержать решение |
Успешный результат аутентификации
Если поле Error в результате аутентификации пусто, это означает, что эта аутентификация действительна. Успешный результат аутентификации будет содержать следующую информацию:
| Поле | Описание |
|---|---|
| authResult.Id | Уникальный идентификатор этого имени пользователя, ProjBobcat использует определенный метод генерации для генерации этого идентификатора |
| authResult.AccessToken | Учетные данные авторизации учетной записи пользователя, что не имеет смысла для системы оффлайн-аутентификации |
| authResult.User.UUID | UUID этого пользователя, аналогично authResult.Id |
| authResult.User.Properties | Массив свойств пользователя, для системы оффлайн-аутентификации этот массив содержит только одно допустимое значение |