前言
Halo 有着强大且灵活的扩展机制,包括与用户认证相关的扩展,我们可以通过插件来集成三方的认证系统,比如 OAuth 协议、OIDC、LDAP 等。
本文将以 Logto 平台为例,介绍如何为 Halo 集成三方的用户认证平台。
前置条件
部署 Logto 平台
部署 Logto 通常有两种方式:自托管开源版本或者使用 Logto 云服务。
云服务
Logto 根据引导注册账号即可。
需要提前在 https://logto.io/pricing 页面了解其定价策略。
自托管
可以参考官方文档:Get started with OSS
如果你正在使用 1Panel,也可以在 1Panel 的应用商店一键部署 Logto:1Panel 应用商店:Logto
创建 Logto 应用
登录到 Logto 的管理后台,点击左侧导航栏的 全部应用 菜单,点击 创建应用 按钮,创建一个 OIDC 应用。



创建完成后,暂时保持在当前页面,接下来需要先在 Halo 中进行相应配置。
配置 Halo 认证插件
安装 社交 IAM 认证 插件,此插件目前包含在 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 的个人中心登录方式中看到已经绑定了我们新建的认证方式:

评论区