Русский
  • auth
  • authentication
  • identity
  • integration
  • outline
  • oidc
  • oauth

Упростите аутентификацию Outline с помощью Logto

В этой статье мы покажем, как использовать Logto в качестве провайдера удостоверений OpenID Connect (OIDC) для Outline.

Gao
Gao
Founder

Введение

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

Самое лучшее в том, что и Logto, и Outline являются открытым исходным кодом. В этой статье мы покажем, как использовать Logto в качестве OpenID Connect (OIDC) провайдера удостоверений для Outline.

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

Чтобы начать, убедитесь, что у вас есть следующее:

  • Запущенная инстанция Logto или доступ к облачному аккаунту Logto.
  • Среда размещения Outline с доступом к переменным окружения.

Настройка Logto

Если вы размещаете Logto самостоятельно, обратитесь к документации Logto "Начало работы" для настройки вашей инстанции Logto.

Откройте консоль Logto, введя URL https://cloud.logto.io/, если вы используете Logto Cloud, или конечную точку, которую вы настроили для самохостинга.

Затем перейдите на вкладку "Приложения" и нажмите "Создать приложение".

Вкладка приложений

В появившемся модальном окне выберите "Традиционный веб" и введите имя приложения, например "Outline". Затем нажмите "Создать приложение".

Создать приложение

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

Детали приложений

В разделе "Redirect URIs" введите следующее значение:

Например, если вы размещаете Outline на http://localhost:3000, значение должно быть:

Сохранить изменения

Нажмите кнопку "Сохранить изменения" внизу. После успешного сохранения оставьте эту страницу открытой, так как она будет полезна для настройки Outline.

Настройка Outline

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

Обратитесь к следующей таблице для получения необходимых данных настройки:

Переменная окружения OutlineИмя, отображаемое в Logto
OIDC_CLIENT_IDID приложения
OIDC_CLIENT_SECRETСекрет приложения
OIDC_AUTH_URIКонечная точка авторизации
OIDC_TOKEN_URIКонечная точка для токена
OIDC_USERINFO_URIКонечная точка информации о пользователе

Вот еще одна таблица, содержащая дополнительные переменные:

Переменная окружения OutlineОписание
OIDC_USERNAME_CLAIMУстановить на username
OIDC_DISPLAY_NAMEНеобязательный - настраивайте по желанию
OIDC_SCOPESОставьте по умолчанию; не нужно настраивать

Только для самохостинга: Настройка входа по электронной почте в Logto

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

См. Настройка коннекторов, чтобы узнать больше о настройке коннекторов в Logto.

Контрольный пункт: Тестирование интеграции Logto и Outline

Запустите инстанцию Outline и получите доступ к ее конечной точке. Вы должны увидеть кнопку в центре с надписью "Продолжить с OpenID Connect"; это можно настроить, установив переменную окружения OIDC_DISPLAY_NAME.

Страница входа Outline

Нажмите на кнопку, и вы будете перенаправлены на процесс входа в Logto.

Процесс входа Logto

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

Домашняя страница Outline

Если у вас возникнут какие-либо проблемы во время интеграции, не стесняйтесь обратиться к нам по электронной почте [email protected] или присоединиться к нашему серверу Discord!

Дополнительные материалы