• release

Обновления продукта Logto

Вышла Logto v1.38.0. В этом релизе добавлена поддержка Device Authorization Grant в OAuth 2.0, вход с помощью passkey, адаптивная MFA, управление сессиями и грантами, а также более гибкая настройка OIDC для OSS-развёртываний.

Charles
Charles
Developer

Хватит тратить недели на аутентификацию пользователей
Запускайте безопасные приложения быстрее с Logto. Интегрируйте аутентификацию пользователей за считанные минуты и сосредоточьтесь на вашем основном продукте.
Начать
Product screenshot

Мы рады объявить о выходе Logto v1.38.0 — нашего мартовского релиза 2026 года! Это обновление добавляет device flow для приложений с ограниченным вводом, внедряет вход с помощью passkey и улучшения адаптивной MFA, а также расширяет контроль над сессиями, грантами и конфигурациями уровня tenant во всей Logto.

Device flow для приложений с ограниченным вводом

Одной из самых важных новинок этого релиза стала поддержка OAuth 2.0 Device Authorization Grant. Это заметно упрощает построение процессов аутентификации для устройств без полноценной клавиатуры или браузера: умных ТВ, CLI-инструментов, игровых консолей и IoT-устройств.

С device flow пользователи могут:

  • Начать вход на устройстве
  • Открыть URL для подтверждения на другом устройстве
  • Ввести короткий пользовательский код
  • Завершить аутентификацию там
  • Вернуться на исходное устройство с выданными токенами

Мы также добавили полную поддержку device flow приложений в Консоли. Теперь можно создавать такие приложения, выбрав Приложение с ограниченным вводом / CLI среди нативных приложений или выбрав Device flow как механизм авторизации при ручном создании приложения. Страница настроек приложения теперь содержит встроенное руководство и демонстрацию для быстрой настройки.

Вход с помощью passkey становится полноправным процессом

В этом релизе вход с помощью passkey стал полноценным методом аутентификации в Logto.

Passkey-авторизация обеспечивает более быстрый безпарольный опыт для возвращающихся пользователей и повышает безопасность аккаунта. Она работает с привычными платформенными аутентификаторами: Face ID, Touch ID, Windows Hello и др.

Мы добавили поддержку нескольких сценариев на базе passkey:

  • Отдельная кнопка Продолжить с помощью passkey для моментального входа
  • Идентификаторный поток, где верификация passkey проводится до падения к паролю или коду подтверждения
  • Поддержка автозаполнения в браузере — пользователи могут выбрать сохранённый passkey прямо из поля идентификатора
  • Привязка passkey при регистрации для новых пользователей
  • Повторное использование уже существующего WebAuthn MFA креденшала для входа по passkey без дополнительной регистрации

Подробнее смотри в документации по входу с помощью passkey.

Адаптивная MFA и улучшенные рекомендации по MFA

Этот релиз продолжает наше развитие современных MFA-решений через два ключевых улучшения.

Адаптивная MFA

Теперь Logto поддерживает адаптивную MFA. Когда она включена, схема входа оценивает правила MFA относительно текущего контекста входа и требует MFA, если соответствующие правила срабатывают.

Включено также:

  • Настройка адаптивной MFA в Консоли
  • Сохраняемый контекст входа в interaction data
  • Доступ к context.interaction.signInContext в скриптах custom-claims
  • Новый webhook-событие PostSignInAdaptiveMfaTriggered

Необязательное подключение MFA

Для пользователей, которым не требуется установка MFA, Logto теперь может показывать отдельную onboarding-страницу после верификации учетных данных — с предложением включить MFA для улучшенной защиты.

Это особенно пригодится с входом по passkey: пользователь сможет выбирать использование passkey для входа без активации их как фактора MFA.

Управление сессиями и грантами через API и Консоль

Впервые появилась масштабная система управления сессиями пользователей и авторизованными приложениями для аккаунта и администратора.

Управление пользовательскими сессиями

Logto теперь поддерживает управление сессиями как в Account API, так и в Management API. Можно получать список активных сессий, просматривать детали сессии и отзывать её с возможностью ревокации грантов.

Также мы добавили:

  • Новое разрешение session в настройках Account Center с режимами off, readOnly и edit
  • Новый пользовательский scope urn:logto:scope:sessions для получения сессионных данных через Account API
  • Расширенный контекст сессии: IP, user agent и GEO-местоположение (где доступно)

В Консоли на странице пользователя теперь есть раздел Активные сессии и подробная страница сессии с возможностей отзыва.

Управление грантами к авторизованным приложениям

Logto теперь поддерживает просмотр и отзыв пользовательских грантов приложений как через Account API, так и через Management API.

В этом релизе появился раздел Авторизованные сторонние приложения на странице пользователя в Консоли. Администраторы теперь видят активные сторонние авторизации, могут просматривать метаданные (название приложения, время создания) и отзывать доступ прямо из интерфейса.

Ограничения на количество устройств одновременно на уровне приложения

В приложениях теперь можно задать параметр maxAllowedGrants в customClientMetadata — он ограничивает, сколько одновременных активных грантов пользователь может иметь для каждого приложения. Если лимит превышен, Logto автоматически отзывает самые старые гранты.

В Консоли добавлен раздел Ограничение количества устройств на странице приложения для визуальной настройки.

Контроль OIDC-настроек для OSS

Для пользователей OSS теперь доступна более гибкая и понятная настройка параметров OIDC.

Можно задать параметр oidc.session.ttl в logto-config — он определяет TTL сессии OIDC-провайдера в секундах. Если не задан, по умолчанию остаётся 14 дней.

Также появились:

  • GET /api/configs/oidc/session
  • PATCH /api/configs/oidc/session

В Консоли OSS добавлена новая страница Tenant -> Settings с вкладкой OIDC settings, которая меняет старую вкладку Signing keys. На новой странице есть поле Session maximum time to live — можно настроить TTL сессии в днях.

Если вы используете OSS, не забудьте перезапустить сервис после изменений в конфиге, чтобы новые OIDC-настройки подгрузились. Для автоматического применения обновлений конфига советуем включить централизованный Redis cache.

Улучшения Account Center

Готовый к использованию Account Center тоже получил несколько полезных обновлений.

Пользователи теперь могут:

  • Заменять приложение-аутентификатор через специальный маршрут /authenticator-app/replace
  • Использовать параметр identifier в URL для автозаполнения поля идентификатора
  • Переопределять язык интерфейса Account Center с помощью URL-параметра ui_locales

Мы также улучшили формы пароля для лучшей совместимости с автозаполнением браузера и менеджерами паролей.

Ориентированные на разработчиков улучшения API

Для команд, мигрирующих пользователей в Logto, в методах GET /users и GET /users/:userId добавлен параметр запроса includePasswordHash. При включении этого параметра ответ содержит поля passwordDigest и passwordAlgorithm, что помогает импортировать исходные хэши паролей при миграции.

Добавлена поддержка обмена access token в сценариях service-to-service delegation. Logto теперь может обменивать opaque или JWT access token на новые токены доступа с иными audiences, используя стандартный тип токена urn:ietf:params:oauth:token-type:access_token.

Исправления ошибок

В этом релизе также реализовано множество улучшений стабильности и совместимости:

  • Маршруты проверки MFA для TOTP, WebAuthn и резервных кодов теперь репортят активность в Sentinel, благодаря чему повторные неудачи легче отследить и изолировать.
  • OIDC-адаптер теперь выполняет запросы findByUid и findByUserCode с использованием литеральных JSONB-ключей для лучшей работы expression-индексов в generic-планах.
  • Инициализация пула соединений Postgres теперь повторяется в случае временных ошибок при старте.
  • Проверка наследуемых паролей теперь поддерживает salt значений PBKDF2 с префиксом hex: при импорте пользователей.
  • Производительность обмена токенов повышена за счёт кэширования минимальных OIDC-ресурсов и предварительной генерации grant ID при выпуске токенов.
  • Форматирование номера получателя Twilio SMS теперь нормализуется для не-E.164 номеров — гарантируется ведущий знак +.

Изменения, ломающие совместимость

В этот релиз вошло важное ломающее изменение в toolkit-коннекторе.

Давний устаревший экспорт mockSmsVerificationCodeFileName был удалён из @logto/connector-kit.

Также изменились пути хранения файлов моковых коннекторов для отправленных сообщений:

  • /tmp/logto_mock_email_record.txt -> /tmp/logto/mock_email_record.txt
  • /tmp/logto_mock_sms_record.txt -> /tmp/logto/mock_sms_record.txt

Если в вашей локальной разработке или docker-окружении используются старые пути, их потребуется обновить.

Новые контрибьюторы

Спасибо новым контрибьюторам за помощь в улучшении Logto:


Как начать

Готовы обновиться? Ознакомьтесь с нашим гайдом по обновлению для пошаговых инструкций.

Полный список изменений смотрите на странице релиза на GitHub.

Есть вопросы или пожелания? Присоединяйтесь к Discord или откройте issue на GitHub.