如何为 Halo 接入 Logto 认证

Halo 有着强大且灵活的扩展机制,包括与用户认证相关的扩展,我们可以通过插件来集成三方的认证系统,比如 OAuth 协议、OIDC、LDAP 等。

本文将以 https://logto.io/ 平台为例,介绍如何为 Halo 集成三方的用户认证平台。

前置条件

部署 Logto 平台

部署 Logto 通常有两种方式:自托管开源版本或者使用 Logto 云服务。

云服务

访问 https://logto.io/ 根据引导注册账号即可。

需要提前在 https://logto.io/pricing 页面了解其定价策略。

自托管

可以参考官方文档:https://docs.logto.io/logto-oss/get-started-with-oss

如果你正在使用 1Panel,也可以在 1Panel 的应用商店一键部署 Logto:https://apps.fit2cloud.com/1panel/logto

创建 Logto 应用

登录到 Logto 的管理后台,点击左侧导航栏的 全部应用 菜单,点击 创建应用 按钮,创建一个 OIDC 应用。

logto-create-oidc.png

logto-create-app.png

创建完成后,暂时保持在当前页面,接下来需要先在 Halo 中进行相应配置。

配置 Halo 认证插件

安装 https://www.halo.run/store/apps/app-IXZkJ 插件,此插件目前包含在 Halo 专业版中。如果你是 Halo 专业版用户,可以直接在应用市场中安装并激活。

安装完成之后,点击左侧菜单的 身份认证,然后再点击右上角的 新建 按钮。

详细配置如下:

  • 显示名称:按照需求填写即可,最终会显示在登录的认证方式中

  • 描述:按照需求填写即可

  • 图标:最终会显示在登录的认证方式中

  • 认证类型:选择 oidc

  • 认证方法:选择 client_secret_basic

  • 授权类型:选择 authorization_code

  • 作用域:添加一个 openid

  • 授权地址:对应 Logto 配置页面中的 授权端点

  • 认证地址:对应 Logto 配置页面中的 Token 端点

  • 用户信息地址:对应 Logto 配置页面中的 用户信息端点

  • 用户唯一属性:填写 sub

输入完成后保存,然后点击进入新建的认证方式配置页面:

设置 选项卡中,填写配置:

  • Client ID:对应 Logto 配置页面中的 应用 ID

  • Client Secret:对应 Logto 配置页面中的 应用密钥

然后在 客户端 选项卡中,复制 回调地址 并粘贴到 Logto 配置页面中的 重定向 URIs 中。

需要特别注意,需要将 {baseUrl} 替换为你的 Halo 实例的 URL。

启用认证方式

配置完成后,还需要回到认证方式列表页面,启用新创建的认证方式。

测试

返回 Halo 的登录页面,可以看到已经添加了新的认证方式:

使用 Logto 的账号登录,即可完成与 Halo 账号的绑定:

最后,我们还可以在 Halo 的个人中心登录方式中看到已经绑定了我们新建的认证方式:

参考文档

评论

购物车

总计

¥1299