Оптимизация аутентификации OAuth и OIDC с помощью Logto
Наше сообщество выразило интерес в использовании Logto в качестве поставщика удостоверений для определенных продуктов, таких как плагины Outline или ChatGPT. В теории, Logto может служить поставщиком OAuth или OIDC (OpenID Connect), если продукт, который вы хотите интегрировать, поддерживает один из этих протоколов.
GaoFounder
Хватит тратить недели на аутентификацию пользователей
Запускайте безопасные приложения быстрее с Logto. Интегрируйте аутентификацию пользователей за считанные минуты и сосредоточьтесь на вашем основном продукте.
Logto — это простое в использовании решение для управления идентификацией, предлагающее все необходимые функции. Он поддерживает различные способы входа, такие как имена пользователей, электронная почта, номера телефонов и популярные социальные сети, такие как Google и GitHub. Независимо от того, являетесь ли вы частным лицом или компанией любого размера, Logto предоставляет идеальное решение для управления идентификацией и доступом клиентов (CIAM), адаптированное к специфическим потребностям вашего проекта.
Наше сообщество выразило интерес в использовании Logto в качестве поставщика удостоверений для определенных продуктов, таких как плагины Outline или ChatGPT. В теории, Logto может служить поставщиком OAuth 2.0 (OAuth) или OpenID Connect (OIDC), если продукт, который вы хотите интегрировать, поддерживает один из этих протоколов.
В этой статье мы предлагаем общий учебник по интеграции OAuth или OIDC с использованием Logto в качестве поставщика удостоверений. Кроме того, мы предоставляем специальные руководства для конкретных интеграций, включая:
Хотя некоторые детали могут различаться в зависимости от продуктов, основная конфигурация остается универсальной. Если у вас есть вопросы или вам нужна дополнительная помощь, мы рекомендуем вам присоединиться к нашему серверу Discord для дальнейшего обсуждения.
Если вы самостоятельно размещаете Logto, обратитесь к документации Logto "Начало работы", чтобы настроить ваш экземпляр Logto.
Откройте Logto Console, перейдя по URL https://cloud.logto.io/, если вы используете Logto Cloud, или используйте конечную точку, которую вы настроили для самостоятельного размещения.
Перейдите на вкладку "Приложения" и нажмите на "Создать приложение".
В появившемся модальном окне выберите "Традиционное веб-приложение" и укажите имя приложения, например, "Мое приложение". Нажмите на "Создать приложение".
Вы будете перенаправлены на страницу с учебником в Logto. Нажмите на "Пропустить" в верхнем правом углу, чтобы перейти на страницу деталей приложения.
В разделе "Redirect URIs" введите значение, указанное в документации продукта. Обычно оно динамично на основе вашей конфигурации ID или конечной точки в продукте. Например, в плагинах ChatGPT URI перенаправления выглядит так:
В альтернативном случае он может называться "Redirect URL", "Callback URI" или "Callback URL".
Необязательно: Убедитесь, что Logto выдает Refresh Token#
Некоторые продукты могут требовать Refresh Token при отправке запросов на обмен токенов в Logto. Для OAuth необходимо лишь убедиться, что offline_access scope включен. Согласно протоколу OIDC, по умолчанию продукт также должен добавить параметр поиска prompt=consent в начальный запрос авторизации для потока кода авторизации; в противном случае Refresh Token не будет выдан.
Если продукт использует OAuth или не добавляет параметр prompt=consent или offline_access scope, но требует Refresh Token (например, плагины ChatGPT), прокрутите вниз до раздела "Дополнительные настройки" и включите "Всегда выдавать Refresh Token".
Большинство необходимых значений конфигурации можно найти на странице с деталями приложения Logto. Некоторые имена могут иметь алиасы, поэтому обратитесь к таблице ниже для справки:
Имя Logto
Алиасы
Использование
App ID
Идентификатор приложения, Идентификатор клиента
App Secret
Секрет приложения, Секрет клиента
Redirect URI
URL перенаправления, Callback URI, Callback URL
Перенаправление после входа
Post Sign-out Redirect URIs
URL перенаправления после выхода, URI после выхода, URL после выхода
Перенаправление после выхода
Authorization Endpoint
URI авторизации, URL авторизации, Точка авторизации, URL авторизации
Начальная аутентификация
Token Endpoint
URL токена, URI токена
Запрос на предоставление токена
Userinfo Endpoint
URL информации о пользователе, URI информации о пользователе
Получение информации о пользователе
Для современных продуктов "endpoint обнаружения" может быть достаточен. В таких случаях замените auth на .well-known/openid-configuration в точке авторизации. Например, если точка авторизации является https://default.logto.app/oidc/auth, endpoint обнаружения будет https://default.logto.app/oidc/.well-known/openid-configuration.
Если продукт поддерживает OIDC или требует, чтобы был выдан ID токен, добавьте openid profile в конфигурацию области действия. Обратитесь к таблице claim-scope ниже:
Претензия
Тип
Требуемая область
sub
строка
openid
name
строка
profile
username
строка
profile
picture
строка
profile
email
строка
email
email_verified
логический
email
phone_number
строка
phone
phone_number_verified
логический
phone
Контрольная точка: Тестирование интеграции с Logto#
Нажмите на кнопку входа в продукте, вы будете перенаправлены на опыт входа в Logto.
Если все настроено правильно, после завершения процесса входа или регистрации в Logto вы будут перенаправлены обратно в продукт без ошибок.
И это завершает наше руководство по оптимизации аутентификации OAuth и OIDC с помощью Logto. Если у вас возникнут какие-либо проблемы во время интеграции, пожалуйста, не стесняйтесь обращаться к нам по электронной почте [email protected] или присоединиться к нашему серверу Discord!