Русский
  • logto
  • management-api
  • api
  • machine-to-machine
  • organization
  • user-profile
  • user-search
  • audit-log
  • migration

Изучение полного потенциала Logto Management API

В этой статье мы заново подчеркнем определение Logto Management API, объясним, как оно работает, и покажем типичные сценарии, чтобы повысить вашу продуктивность и раскрыть больше вариантов использования.

Guamian
Guamian
Product & Design

Как инфраструктурная служба, мы стремимся сделать использование нашего Logto Management API более простым и быстрым. Недавно мы обновили наши руководства и инструкции. В этой статье мы заново подчеркнем определение Logto Management API, объясним, как оно работает, и покажем типичные сценарии, чтобы повысить вашу продуктивность и раскрыть больше вариантов использования.

Что такое Logto Management API

Logto Management API — это мощный набор готовых API, который предоставляет разработчикам полный контроль над настройкой своей реализации в соответствии с потребностями продукта и техническим стеком.

Он указан в списке ресурсов API и не может быть удален или изменен. Все, что вы можете сделать в Logto Admin Console, также можно сделать с помощью Logto Management API.

Его идентификатор имеет формат https://[tenant-id].logto.app/api

Logto management API

Logto management API - 2

По умолчанию он включает разрешения all. По мере роста Logto мы продолжим делать разрешения более детализированными.

С помощью Logto Management API вы можете получить доступ к мощным серверным службам Logto, которые обладают высокой масштабируемостью и могут использоваться во множестве сценариев. Чтобы узнать о доступных API, посетите Logto API references.

Типичные сценарии использования Management API

Наши разработчики реализовали множество дополнительных функций с использованием нашего Management API. Мы верим, что наш API обладает высокой масштабируемостью и может поддерживать широкий спектр ваших потребностей. Вот несколько примеров сценариев, которые не возможны с Logto Admin Console, но могут быть реализованы с помощью Management API.

Реализация профиля пользователя с вашим собственным пользовательским интерфейсом

В настоящее время Logto не предоставляет готового решения для пользовательского интерфейса профилей пользователей. Мы осознаем, что профили пользователей тесно связаны с атрибутами бизнеса и продукта. Пока мы работаем над определением лучшего подхода, мы предлагаем вам использовать наши API для создания собственного решения. Например, вы можете использовать наш interaction API, profile API и verification code API для разработки индивидуального решения, которое удовлетворяет вашим потребностям. Мы подготовили специальную страницу User Profile с руководствами и инструкциями.

Интересным примером является то, что функция пользовательского профиля Logto Cloud построена с использованием Logto Management API.

Account settings

Реализация управления организацией с вашим собственным пользовательским интерфейсом

Если вы используете функцию organization для создания вашего мультиарендного приложения, вам может потребоваться Logto management API для таких задач, как приглашения в организацию и управление участниками.

Аналогично, функция приглашения и сотрудничества Logto Cloud также построена с использованием Logto Management API.

Organization

Invite members to Org

В качестве расширения этого сценария, для вашего SaaS продукта, где у вас есть как администраторы, так и участники в арендаторах, Logto management API может помочь вам создать настраиваемый административный портал, адаптированный к вашим бизнес-потребностям. Ознакомьтесь с этой страницей для получения подробной информации.

Расширенный поиск пользователей

Logto Admin Console поддерживает базовые функции поиска и фильтрации. Если вам нужны более расширенные опции для адаптации вашей услуги управления пользователями к вашим бизнес-потребностям, вы можете использовать Logto Management API. Он поддерживает расширенные опции поиска, такие как:

  1. Неточный поиск
  2. Точный поиск
  3. Чувствительность к регистру
  4. Указание полей

Ознакомьтесь с нашими руководствами и инструкциями по Advanced User Search.

Использование логов Logto для построения собственных служб

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

Audit logs

Используя management API, вы можете получить доступ к данным журнала аудита в реальном времени. Это позволяет вам разработать собственную модель схемы и панель управления, используя данные журнала, полученные от Logto.

Миграция и импорт пользователей в Logto

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

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

Как получить доступ к Logto Management API

Создание приложения M2M

Выберите тип приложения M2M и начните процесс создания. После создания вы будете перенаправлены на модуль, где вы можете назначить роль для взаимодействия между машинами.

После предоставления имени и описания вы увидите модуль, который предложит вам назначить роль. В этом модуле отображены все роли M2M, роли, обозначенные иконкой Logto, означают, что эти роли включают разрешения Logto management API.

Назначение ролей M2M включает разрешения Logto management API для вашего приложения M2M.

Assign M2M role

Почему использовать взаимодействие между машинами и назначение ролей взаимодействия между машинами?

Почему Logto позволяет взаимодействие M2M (Machine-to-Machine) для вызова Logto Management API вместо использования ключей API?

Logto решает задачи управления идентификацией клиентов и строго следует открытым стандартам, таким как OAuth 2.0 и OpenID Connect. Токены M2M предлагают более безопасные взаимодействия между серверами с определенными объемами доступа, обеспечивая лучшую безопасность, чем статические ключи API. В отличие от ключей API, которые не имеют срока действия и представляют более высокий риск при компрометации, токены M2M имеют определенные сроки действия, ограничивая время для потенциального злоупотребления.

В Logto мы используем управление доступом на основе ролей (RBAC) для защиты и управления доступом к Logto Management API. Эта диаграмма сущностей показывает, как это работает.

 The relationship of permissions, API resources, roles and machine-to-machine application.

Соотношение разрешений, ресурсов API, ролей и приложения взаимодействия между машинами.

Получение токена доступа

Основы запроса токена доступа

Приложение M2M делает POST запрос к конечной точке токена, чтобы получить токен доступа, добавив следующие параметры с использованием формата application/x-www-form-urlencoded в теле запроса HTTP:

  • grant_type: должно быть установлено значение client_credentials
  • resource: индикатор ресурса, к которому вы хотите получить доступ
  • scope: Объем доступа

Также необходимо включить свои учетные данные M2M для конечной точки токена, чтобы аутентифицировать ваше приложение M2M. Это достигается путем добавления заголовка Authorization с использованием Basic authentication, где имя пользователя — это идентификатор приложения, а пароль — секрет приложения.

Вы можете найти идентификатор приложения и секрет приложения на странице деталей вашего приложения M2M:

App credentials

Пример запроса токена доступа к Logto Management API:

Получение токена доступа для Logto Management API

Logto предоставляет встроенный ресурс «Logto Management API», это ресурс только для чтения с разрешением all для доступа к Logto Management API, вы можете увидеть его в списке ресурсов API. Индикатор ресурса API имеет формат https://{YOUR_TENANT_ID}.logto.app/api, и это будет значением вашего ресурса, используемым в теле запроса токена доступа.

Management API status

Перед доступом к Logto Management API убедитесь, что вашему приложению M2M назначены роли M2M, которые включают разрешение all для этого встроенного ресурса «Logto Management API».

Теперь, объединим все, что мы знаем, и отправим запрос:

Ответ на запрос токена

Тело успешного ответа может выглядеть так:

Доступ к Logto Management API с использованием токена доступаhttps://docs.logto.io/quick-starts/m2m/#access-resource-using-access-token

Вы можете заметить, что ответ на токен имеет поле token_type, которое фиксировано на Bearer. Таким образом, вы должны указать токен доступа в поле Authorization заголовков HTTP с форматом Bearer (Bearer YOUR_TOKEN).

Теперь вы можете получить доступ к Logto Management API, запросив конечную точку Logto Management API https://[your-tenant-id].logto.app/api, чтобы получить все приложения в Logto

Связанные ресурсы

Вот несколько связанных ресурсов, которые углубляются в наши предыдущие идеи и стратегии использования Logto Management API. Эти материалы охватывают различные аспекты, включая лучшие практики, советы по реализации и варианты использования, чтобы помочь вам максимально эффективно использовать Logto Management API для ваших проектов.