如何在 Encore 应用中使用 Logto
了解如何在你的 Encore 后端应用中使用 Logto 进行用户认证。在本指南中,我们将向你展示如何将你的 Go 后端集成到 Logto 中。
了解如何在你的 Encore 后端应用中使用 Logto 进行用户认证。在本指南中,我们将向你展示如何将你的 Go 后端集成到 Logto 中。
Encore 是一个后端开发平台,可以轻松构建生产就绪的 API 和微服务。
Logto 是一个现代的 Auth0 替代方案,可以在几分钟内帮助你构建登录体验和用户身份。它特别适用于保护使用 Encore 构建的 API 服务。
本指南将向你展示如何将 Logto 与你的 Encore 应用集成,以实现安全的用户认证并保护你的 API 端点。
在我们开始与 Encore 集成之前,你需要在 Logto 中设置一些东西:
如果还没有账号,请在 Logto Cloud 注册一个账号。
在 Logto 控制台创建一个 API 资源,这代表你的 Encore API 服务
https://api.encoreapp.com)

现在让我们在你的 Encore 应用中实现认证。我们将使用 Encore 的内置 auth handler 来验证 Logto 的 JWT 令牌。
在你的 Encore 应用中添加以下两个模块:
创建 auth/auth.go 并添加以下代码:
然后,你可以使用这个认证处理器来保护你的 API 端点:
我们已经完成了 Encore API 服务中的工作。现在我们需要将 Logto 集成到我们的前端应用中。
你可以在 Logto 快速开始 页面中选择你正在使用的框架,将 Logto 集成到你的前端应用中。本指南中我们以 React 为例。
查看 为你的 React 应用添加认证 指南,了解如何将 Logto 集成到你的 React 应用中。在这个例子中,你只需要完成到集成部分即可。之后,我们将演示前端应用如何从 Logto 获取访问令牌以访问 Encore API。
首先,更新你的 LogtoConfig,在 resources 字段中添加你在 Encore 应用中使用的 API 资源。这告诉 Logto 我们将请求此 API 资源(Encore API)的访问令牌。
更新 LogtoConfig 后,如果用户已经登录,他们需要先注销然后重新登录,以便新的 LogtoConfig 设置生效。
用户登录后,你可以使用 Logto React SDK 提供的 getAccessToken 方法获得访问特定 API 资源的访问令牌。例如,访问 Encore API 时,我们使用 https://api.encoreapp.com 作为 API 资源标识符。
然后,在后续请求中将此访问令牌添加到请求头中的 Authorization 字段。
就是这样,你已成功将 Logto 与你的 Encore 应用集成。
如果你想在 Encore 中使用更多 Logto 功能,可以参考以下链接获取更多信息:
scope 信息添加到你的访问令牌中(注意更新 Logto 配置后需要重新登录)