Русский
  • encore
  • защита API
  • аутентификация API

Как использовать Logto для вашего приложения Encore

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

Yijun
Yijun
Developer

Хватит тратить недели на аутентификацию пользователей
Запускайте безопасные приложения быстрее с Logto. Интегрируйте аутентификацию пользователей за считанные минуты и сосредоточьтесь на вашем основном продукте.
Начать
Product screenshot

Encore — это платформа для разработки бэкендов, которая помогает легко создавать готовые для производства API и микросервисы.

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

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

Настройки Logto

Прежде чем мы начнем интеграцию с Encore, вам нужно настроить несколько вещей в Logto:

  1. Создайте учетную запись на Logto Cloud, если у вас ее еще нет.

  2. Создайте ресурс API в Logto Console, это представляет ваш API-сервис Encore

    • Перейдите в "API Resources" в Logto Console и создайте новый API
    • Установите имя и идентификатор API (например, https://api.encoreapp.com)
    • Запишите идентификатор API на странице деталей ресурса API, он понадобится нам позже

Logto API Resource

  1. Создайте приложение для вашего фронтенд-приложения
  • Перейдите в "Applications" в Logto Console
  • Создайте новое приложение в соответствии с вашим фронтенд-фреймворком (мы используем React в качестве примера, но вы можете создать любое одностраничное приложение или нативное приложение)
  • (Опционально, мы рассмотрим это позже) Интегрируйте Logto с вашим фронтенд-приложением в соответствии с руководством в Logto Console.
  • Запишите идентификатор приложения и URL издателя на странице деталей приложения, они понадобятся нам позже

Logto application endpoints

Настройка обработчика аутентификации для вашего API-сервиса Encore

Теперь давайте реализуем аутентификацию в вашем приложении Encore. Мы будем использовать встроенный обработчик аутентификации Encore для проверки JWT-токенов Logto.

Добавьте эти два модуля в ваше приложение Encore:

Создайте файл auth/auth.go и добавьте следующий код:

А затем, можно использовать этот обработчик аутентификации для защиты ваших API-эндпоинтов:

Фронтенд

Мы завершили нашу работу в API-сервисе Encore. Теперь нужно интегрировать Logto с нашим фронтенд-приложением.

Вы можете выбрать фреймворк, который используете, на странице Logto Quick start, чтобы интегрировать Logto с вашим фронтенд-приложением. В этом руководстве мы используем React в качестве примера.

Ознакомьтесь с руководством Добавить аутентификацию в ваше React-приложение, чтобы узнать, как интегрировать Logto с вашим React-приложением. В этом примере вам нужно завершить раздел "Интеграция". После этого мы продемонстрируем, как фронтенд-приложение может получить токен доступа от Logto для доступа к API Encore.

Сначала обновите ваш LogtoConfig, добавив ресурс API, используемый в вашем приложении Encore, в поле resources. Это говорит Logto о том, что мы будем запрашивать токены доступа для этого ресурса API (API Encore).

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

Когда пользователь войдет в систему, вы можете использовать метод getAccessToken, предоставленный Logto React SDK, чтобы получить токен доступа для доступа к определенным ресурсам API. Например, для доступа к API Encore мы используем https://api.encoreapp.com в качестве идентификатора ресурса API.

Затем добавьте этот токен доступа в заголовки запроса как поле Authorization в последующих запросах.

Вот и все, вы успешно интегрировали Logto с вашим приложением Encore.

Узнайте больше

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