• выпуск

Обновление продукта Logto: Статус соответствия, настраиваемый JWT, API ресурсы для ролей организации и многое другое

Мы рады поделиться последними обновлениями по вопросам соответствия и новыми функциями. Для команды Logto это был продуктивный месяц, так что убедитесь, что вы заварили свой любимый кофе перед тем, как начать изучение.

Gao
Gao
Founder

Статус соответствия

Logto Cloud теперь проходит все проверки SOC 2 на платформе автоматизации соответствия. Мы запланировали аудит SOC 2 Type I и работаем над аудитом SOC 2 Type II.

Настраиваемый JWT

JWT токены доступа теперь можно настраивать с использованием дополнительных данных путём добавления кода на языке JavaScript. Эта функция полезна, когда вам нужно включить в токен дополнительные данные для совместимости с другими системами.

Чтобы использовать эту функцию, перейдите на вкладку "Custom JWT" в Консоли. Настраивать можно как пользовательские, так и M2M (machine-to-machine) токены.

Страница настраиваемого JWT

Перед внесением изменений вы можете использовать кнопку "Run test" для того, чтобы увидеть, как будет выглядеть токен с пользовательскими данными.

Смотрите 🎫 Настраиваемые данные JWT для получения дополнительной информации.

API ресурсы для ролей организации

Теперь вы можете назначать права доступа (scopes) от API ресурсов ролям организаций. Как и другие права доступа в шаблоне организации, эти права действуют на уровне организации, то есть они применяются только к конкретной организации.

Назначение прав API роли организации

Давайте рассмотрим пример:

  • Есть API ресурс под названием https://shopping.api/.
  • У ресурса API есть два уровня доступа: read и write.
  • Есть две роли в организации: admin и user.
  • Роль admin имеет оба уровня доступа read и write; роль user имеет только уровень доступа read.
  • Пользователь Алиса назначена на роль admin в организации foo, и на роль user в организации bar.

Когда Алиса пытается обменять организационный токен на ресурс https://shopping.api/, она получит токен с правами доступа в зависимости от того, для какой организации она запрашивает токен.

Для организации foo Алиса получит токен с правами доступа как на read, так и на write. Для организации bar она получит токен только с правом доступа read.

Смотрите 🏢 Организации (Мульти-арендность) для подробного введения в организации.

Разрешения для сторонних приложений

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

Страница согласия для стороннего приложения

Пользовательские данные организации

Теперь вы можете сохранять дополнительные данные, связанные с организацией, с помощью поля customData на уровне организации, через:

  • Редактирование на странице деталей организации в Консоли.
  • Указание поля customData при использовании Management APIs организации.

Коннекторы

  • Добавлен коннектор Hugging Face.
  • В коннектор GitHub добавлен параметр user:email в состав стандартных настроек для получения списка приватных email адресов аккаунта GitHub.
    • Теперь действует выбор проверенного основного email среди списка приватных email адресов в случае, если пользователь не указал публичный email для аккаунта GitHub.
  • Удален знак плюса перед номером телефона в коннекторе feishu (#5801). Спасибо @kamto7.

Улучшения

  • Добавлена поддержка Redis Cluster и дополнительные опции TLS для соединений с Redis (#5619). Спасибо @alekitto.
  • Коннекторы OIDC и OAuth 2 теперь поддерживают клиентские методы аутентификации client_secret_basic и client_secret_jwt для конечной точки токена.
  • Когда пользователь удаляется или блокируется через Management API, он будет выведен из системы в Logto и его сеансы будут немедленно аннулированы.
  • Поддержка параметра resource, разделенного запятыми, так как некоторые библиотеки не поддерживают массивы ресурсов.
  • Добавлен API для получения организационных прав пользователя на основе ролей пользователя в организации (
    GET /api/organizations/:id/users/:userId/scopes
    ).
  • Добавлено руководство по интеграции Java Spring Boot для веб-приложений.
  • Добавлены фразы на zh-cn на странице согласия OIDC (#5606). Спасибо @the-pawn-2017.

Исправления

  • API приглашений организации теперь обрабатывает email приглашенного без учета регистра.
  • Management API не будет возвращать статус 500 в продакшене для кодов состояния, не указанных в спецификации OpenAPI.
  • Отныне возвращается код 403 вместо 400, когда Logto пытается выдать токен доступа пользователю, не имеющему необходимых прав, особенно при предоставлении доступа к ресурсам, связанным с организацией.
  • Исправлена неправильная обратная связь социальной авторизации, которая отправлялась в нативный контейнер (например, WKWebView в iOS).
  • Исправлена ошибка, из-за которой событие hook регистрации нового пользователя от SSO не срабатывало.
  • Исправлена ошибка, при которой индикатор ресурса API не работал, если индикатор не сопровождался слэшем или именем пути.