• encore
  • api 보호
  • api 인증

Encore 애플리케이션에 Logto 사용하기

Encore 백엔드 애플리케이션에서 사용자 인증을 위해 Logto를 사용하는 방법을 알아보세요. 이 가이드에서는 여러분의 Go 백엔드와 Logto를 통합하는 방법을 보여줍니다.

Yijun
Yijun
Developer

사용자 인증에 몇 주를 낭비하지 마세요
Logto로 더 빠르게 안전한 앱을 출시하세요. 몇 분 만에 사용자 인증을 통합하고 핵심 제품에 집중하세요.
시작하기
Product screenshot

Encore는 프로덕션 준비가 된 API와 마이크로서비스를 쉽게 구축할 수 있는 백엔드 개발 플랫폼입니다.

Logto는 현대적인 Auth0 대안으로, 몇 분만에 로그인 경험과 사용자 아이덴티티 구축을 도와줍니다. Encore로 구축된 API 서비스를 보호하기에 특히 적합합니다.

이 가이드는 여러분의 Encore 애플리케이션에 Logto를 통합하여 안전한 사용자 인증을 구현하고 API 엔드포인트를 보호하는 방법을 보여줍니다.

Logto 설정

Encore와 통합하기 전에 Logto에서 몇 가지를 설정해야 합니다:

  1. 아직 계정이 없으면 Logto Cloud에서 계정을 생성하세요.

  2. Logto 콘솔에서 API 리소스를 생성합니다. 이는 여러분의 Encore API 서비스를 나타냅니다.

    • Logto 콘솔에서 "API Resources"로 이동하여 새로운 API를 생성합니다.
    • 이름과 API 식별자(e.g., https://api.encoreapp.com)를 설정합니다.
    • API 리소스 세부 페이지에서 API 식별자를 메모해둡니다. 나중에 필요합니다.

Logto API 리소스

  1. 프론트엔드 애플리케이션에 대한 애플리케이션을 생성합니다.
  • Logto 콘솔에서 "Applications"로 이동합니다.
  • 프론트엔드 프레임워크에 따라 새로운 애플리케이션을 생성합니다 (우리는 React를 예시로 들지만, 어떤 Single-Page Application (SPA) 또는 네이티브 앱도 생성할 수 있습니다.)
  • (선택 사항으로, 이후에 다룰 것입니다) Logto 콘솔의 가이드에 따라 프론트엔드 애플리케이션에 Logto를 통합합니다.
  • 애플리케이션 세부 페이지에서 애플리케이션 ID와 발급자 URL을 메모해둡니다. 나중에 필요합니다.

Logto 애플리케이션 엔드포인트

Encore API 서비스에 대한 인증 핸들러 설정

이제 여러분의 Encore 애플리케이션에 인증을 구현해보겠습니다. 우리는 Logto의 JWT 토큰을 유효화하기 위해 Encore의 내장 auth handler를 사용할 것입니다.

Encore 애플리케이션에 다음 두 모듈을 추가하세요:

auth/auth.go를 생성하고 다음 코드를 추가하세요:

그리고 이 인증 핸들러를 사용하여 API 엔드포인트를 보호할 수 있습니다:

프론트엔드

Encore API 서비스에서의 작업을 완료했습니다. 이제 프론트엔드 애플리케이션에 Logto를 통합해야 합니다.

프레임워크를 선택하여 프론트엔드 애플리케이션에 Logto를 통합합니다. 이 가이드에서는 React를 예로 사용합니다.

React 애플리케이션에 인증 추가하기 가이드를 확인하여 React 애플리케이션에 Logto를 통합하는 방법을 배우세요. 이 예에서는 통합 섹션까지만 완료하면 됩니다. 이후에, 프론트엔드 애플리케이션이 Logto에서 액세스 토큰을 얻어 Encore API에 접근하는 방법을 보여드리겠습니다.

먼저, LogtoConfig를 업데이트하여 Encore 앱에서 사용 중인 API 리소스를 resources 필드에 추가합니다. 이는 Logto에게 우리가 이 API 리소스(Encore API)에 대한 액세스 토큰을 요청할 것임을 알려줍니다.

LogtoConfig를 업데이트한 후 사용자가 이미 로그인되어 있다면, 새로운 LogtoConfig 설정이 적용되도록 로그아웃 후 다시 로그인해야 합니다.

사용자가 로그인하면 Logto React SDK에서 제공하는 getAccessToken 메서드를 사용하여 특정 API 리소스에 접근하기 위한 액세스 토큰을 얻을 수 있습니다. 예를 들어, Encore API에 접근하기 위해 https://api.encoreapp.com을 API 리소스 식별자로 사용합니다.

그런 다음, 이 액세스 토큰을 요청 헤더의 Authorization 필드로 추가하여 이후 요청을 보냅니다.

이것으로, 여러분은 Logto를 Encore 애플리케이션에 성공적으로 통합하셨습니다.

더 탐색하기

Encore에서 더 많은 Logto 기능을 사용하고 싶다면, 다음 링크를 참조하여 추가 정보를 확인하세요: