Русский
  • sso
  • authentication
  • consent
  • permissions
  • idp

Использование Logto в качестве стороннего провайдера идентификации (IdP)

Logto можно использовать в качестве провайдера идентификации для ваших сторонних приложений. Эта статья объясняет, как настроить Logto как IdP.

Simeng
Simeng
Developer

Logto — это облачная платформа управления идентификацией и доступом (IAM), которая предоставляет полный набор возможностей аутентификации, авторизации и управления пользователями. Она может быть использована в качестве провайдера идентификации (IdP) для ваших сторонних приложений или сервисов, позволяя вам аутентифицировать пользователей и управлять их доступом к этим приложениям.

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

Что такое провайдер идентификации (IdP)?

Провайдер идентификации (IdP) — это сервис, который проверяет идентичность пользователей и управляет их учетными данными для входа. После подтверждения идентичности пользователя IdP генерирует токены или утверждения аутентификации и позволяет пользователю получить доступ к различным приложениям или сервисам без необходимости повторного входа в систему. По сути, это основная система для управления идентичностями и разрешениями сотрудников в вашем предприятии.

Что такое сторонний IdP?

Сторонний IdP — это IdP, который принадлежит другой организации, а не поставщику услуг (SP). SP запрашивает доступ к пользовательским данным, которые ему самому не принадлежат. Например, если вы используете Logto в качестве вашего IdP и входите в социальное приложение, тогда Logto является сторонним IdP для этого социального приложения.

В реальном мире многие приложения используют Google, Facebook или другие сторонние сервисы в качестве своего IdP. Это называется единый вход (SSO). Чтобы узнать больше о SSO, пожалуйста, ознакомьтесь с нашей статьей CIAM 101: Аутентификация, идентификация, SSO.

Теперь давайте посмотрим, как интегрировать Logto как сторонний IdP для ваших приложений.

Как интегрировать сторонний IdP для ваших приложений и лучшие практики

Предварительные условия

  • Прежде чем начать, вам нужно иметь аккаунт Logto. Если у вас его нет, вы можете зарегистрироваться на Logto.

  • Стороннее приложение, которое вы хотите настроить как IdP Logto. Пользователи смогут входить в него с помощью своих аккаунтов Logto.

Создание стороннего OIDC приложения в Logto

Чтобы создать стороннее OIDC приложение в Logto, выполните следующие действия:

  1. Перейдите в Logto Console и перейдите на страницу Applications.

  2. Нажмите на кнопку create application, расположенную в правом верхнем углу страницы. Выберите "Third-party app -> OIDC" в качестве типа приложения.

    create application

  3. Заполните основные детали приложения, включая name и description, в всплывающем окне. Нажмите на кнопку create. Это создаст новую запись стороннего приложения в Logto и перенесет вас на страницу с деталями.

    application details

Настройка конфигурации OIDC

Следуйте этим шагам, чтобы настроить параметры OIDC на странице деталей приложения:

  1. Перейдите на страницу application details стороннего приложения, которое вы только что создали.

  2. Укажите redirect URI вашего стороннего приложения. Это URL, по которому стороннее приложение перенаправит пользователей после их аутентификации в Logto. Обычно вы можете найти эту информацию на странице настроек соединения IdP стороннего приложения.

    redirect uri

    (Logto поддерживает несколько redirect URI. Вы можете добавить больше redirect URI, нажав на кнопку Add another.)

  3. Скопируйте client ID и client secret из Logto и введите их на странице настроек соединения IdP вашего поставщика услуг.

    client credentials
  4. Скопируйте OIDC discovery endpoint из Logto и введите его на странице настроек соединения IdP вашего поставщика услуг.

    OIDC discovery endpoint — это URL, который поставщик услуг может использовать для обнаружения деталей конфигурации OIDC IdP. Он содержит информацию, такую как точка авторизации, точка выдачи токенов и точка получения информации о пользователе, которые необходимы вашему поставщику услуг для аутентификации пользователей с Logto.

    discovery endpoint endpoint details

Контрольная точка

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

Управление разрешениями приложений

В отличие от внутренних приложений, сторонние приложения принадлежат не Logto. Обычно они принадлежат сторонним поставщикам услуг, которые используют Logto в качестве внешнего IdP для аутентификации пользователей. Например, Slack, Zoom и Notion — это все сторонние приложения.

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

Запрос на неактивированные области приведет к ошибке. Это делается для того, чтобы гарантировать защиту информации ваших пользователей и доступ к ней только доверенным сторонним приложениям. После активации областей сторонние приложения могут запросить доступ к этим активированным областям. Эти области будут отображаться на странице согласия для вашего пользователя, чтобы он смог их просмотреть и предоставить доступ сторонним приложениям.

Пожалуйста, ознакомьтесь с нашей статьей Экран согласия пользователя для более подробной информации о том, что такое экран согласия пользователя.

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

Перейдите на страницу Application details и перейдите на вкладку Permissions. Нажмите на кнопку Add permissions, чтобы добавить разрешения ваших сторонних приложений.

permissions tab

Разрешения пользователей (области профиля пользователей)

Эти разрешения являются стандартными OIDC областями профиля пользователей Logto для доступа к пользовательским утверждениям. User claims будут возвращаться в ID токене и в endpoint информации о пользователе соответствующим образом.

user permissions

Разрешения ресурса API (области ресурса API)

Logto предоставляет RBAC (Role-based access control) для ресурсов API. Ресурсы API — это ресурсы, которые принадлежат вашему сервису и защищены Logto. Вы можете назначать самостоятельно определяемые области ресурсов API сторонним приложениям для доступа к вашим ресурсам API. Если вы не знаете, как использовать эти области ресурсов API, пожалуйста, ознакомьтесь с нашими руководствами RBAC и защитите свой API.

api resource permissions

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

Разрешения организации (области организации)

Разрешения организации — это области, определенные исключительно для организаций Logto. Они используются для доступа к информации и ресурсам организации. Чтобы узнать больше об организациях и о том, как использовать области организации, пожалуйста, ознакомьтесь с нашим руководством организация.

organization permissions

Чтобы создать и управлять вашими областями организации, перейдите на страницу Organization template в консоли Logto. Пожалуйста, смотрите Configure organizations для более подробной информации.

Страница согласия

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

consent permissions

Нажав на кнопку Authorize, пользователь предоставит доступ сторонним приложениям к запрашиваемым разрешениям.

Настройка экрана согласия

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

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

  1. Перейдите в Logto Console и откройте страницу с деталями стороннего приложения.

  2. Перейдите на вкладку Branding.

    branding tab

  • Display name: Название стороннего приложения, которое будет отображаться на странице согласия. Оно будет представлять название стороннего приложения, запрашивающего доступ к информации ваших пользователей. Название приложения будет использоваться, если это поле оставлено пустым.
  • Logo: Логотип стороннего приложения, который будет отображаться на странице согласия. Он будет представлять бренд стороннего приложения, запрашивающего доступ к информации ваших пользователей. Логотип стороннего приложения и универсальный логотип входа Logto будут отображаться на странице согласия, если предоставлены оба.
  • Dark logto: Доступно только при включенном опыте входа в темном режиме. Настройте параметры темного режима на странице Sign-in experience.
  • Terms link: Ссылка на условия пользования стороннего приложения, которая будет отображаться на странице согласия.
  • Privacy link: Ссылка на политику конфиденциальности стороннего приложения, которая будет отображаться на странице согласия.

Итог

Поздравляем! Вы успешно интегрировали Logto в качестве стороннего IdP для ваших приложений. Настроив параметры OIDC, вы установили надежный и безопасный механизм для аутентификации и авторизации пользователей. С Logto вы теперь можете беспрепятственно аутентифицировать пользователей и управлять их доступом к любым сторонним приложениям.