Encore 애플리케이션에 Logto 사용하기
Encore 백엔드 애플리케이션에서 사용자 인증을 위해 Logto를 사용하는 방법을 알아보세요. 이 가이드에서는 여러분의 Go 백엔드와 Logto를 통합하는 방법을 보여줍니다.
Encore는 프로덕션 준비가 된 API와 마이크로서비스를 쉽게 구축할 수 있는 백엔드 개발 플랫폼입니다.
Logto는 현대적인 Auth0 대안으로, 몇 분만에 로그인 경험과 사용자 아이덴티티 구축을 도와줍니다. Encore로 구축된 API 서비스를 보호하기에 특히 적합합니다.
이 가이드는 여러분의 Encore 애플리케이션에 Logto를 통합하여 안전한 사용자 인증을 구현하고 API 엔드포인트를 보호하는 방법을 보여줍니다.
Logto 설정
Encore와 통합하기 전에 Logto에서 몇 가지를 설정해야 합니다:
-
아직 계정이 없으면 Logto Cloud에서 계정을 생성하세요.
-
Logto 콘솔에서 API 리소스를 생성합니다. 이는 여러분의 Encore API 서비스를 나타냅니다.
- Logto 콘솔에서 "API Resources"로 이동하여 새로운 API를 생성합니다.
- 이름과 API 식별자(e.g.,
https://api.encoreapp.com
)를 설정합니다. - API 리소스 세부 페이지에서 API 식별자를 메모해둡니다. 나중에 필요합니다.
- 프론트엔드 애플리케이션에 대한 애플리케이션을 생성합니다.
- Logto 콘솔에서 "Applications"로 이동합니다.
- 프론트엔드 프레임워크에 따라 새로운 애플리케이션을 생성합니다 (우리는 React를 예시로 들지만, 어떤 Single-Page Application (SPA) 또는 네이티브 앱도 생성할 수 있습니다.)
- (선택 사항으로, 이후에 다룰 것입니다) Logto 콘솔의 가이드에 따라 프론트엔드 애플리케이션에 Logto를 통합합니다.
- 애플리케이션 세부 페이지에서 애플리케이션 ID와 발급자 URL을 메모해둡니다. 나중에 필요합니다.
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 기능을 사용하고 싶다면, 다음 링크를 참조하여 추가 정보를 확인하세요:
- Logto의 Custom 토큰 클레임을 결합하여 맞춤형 사용자 데이터를 auth handler에 설정하세요.
- Encore API 서비스에 권한 지원을 추가하려면 Logto RBAC 기능을 사용하세요. React 통합 튜토리얼은 Access token에
scope
정보를 추가하는 방법도 보여줍니다 (Logto 구성을 업데이트한 후 다시 로그인 필요). - 조직 토큰을 사용하여 Encore API 서비스로 멀티 테넌트 애플리케이션을 구축하세요. 멀티 테넌트 SaaS 애플리케이션 구축하기를 참조하세요.