问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

1Panel 部署 Logto 对接自有平台(OIDC)

创作时间:
作者:
@小白创作中心

1Panel 部署 Logto 对接自有平台(OIDC)

引用
CSDN
1.
https://m.blog.csdn.net/qq_20003465/article/details/143800006

前言

应群友需求,写一篇关于如何使用 1Panel 部署 Logto,来实现身份验证和授权的指南。

Logto 是一个开源的身份验证和授权解决方案,支持多种身份验证方式,通过通用 OIDC,可以轻松实现单点登录和多因素认证。

本文将以 Halo 的对接为例,讲讲如何在 1Panel 上部署 Logto 且对接实现身份验证和授权功能。

准备工作

  • 已部署 1Panel 的服务器一台
  • 域名一个
  • Halo (或其他自有支持 OIDC 的平台)
  • 基本语文素养

部署

安装 OpenResty

参考视频教程:https://www.bilibili.com/video/BV16FsMeGEx2/

安装 PostgreSQL

参考视频教程:https://www.bilibili.com/video/BV1f74JejERZ/

安装 Logto

在 1Panel 面板中打开应用商店,搜索 Logto,点击安装。

修改 Logto 服务地址与 Logto 管理控制台地址,其余配置保持不变,点击确认开始安装。

注意:这里填写的域名必须是后面反代正式使用的域名,且必须启用 HTTPS 。

反向代理

在 OpenResty 中添加两个反向代理站点,参考上图中的地址和端口进行反代。

均需要在站点配置中开启 HTTPS。

创建账户

进入 Logto 管理控制台,如示例中 https://admin-logto.anye.xyz/ 即可进入欢迎页面,点击 Create account 按钮注册账户。

可在此处修改显示为简体中文。

对接 Halo

Logto 创建应用

Logto 提供了丰富的模板,我们对接自己现有的应用时通常选用 OIDC,可以在开始上手 - 查看全部中的最下面找到。

点击开始构建,输入应用名称创建应用。下拉查看端点和凭据,保持此页面待用。

Halo 添加 OIDC 认证

首先你需要在 Halo 中安装https://www.halo.run/store/apps/app-IXZkJ插件,接着在插件配置中新建认证提供商

自定义显示名称、描述、图标等等

认证类型选择 oidc

认证方法、授权类型、用户信息认证方法保持默认

添加一个作用域 openid

授权地址填写 Logto 管理页面中的授权端点,

认证地址填写 Token 端点,

用户信息地址填写用户信息端点,

用户唯一属性填写 sub,保存。

Logto 管理页面

Halo 添加认证页面

进入新建认证提供商配置页面,按照 Logto 管理页面中的应用 ID 和 App secrets,填写 Client ID 和 Client Secret,保存并启用。

配置回调

还没结束,别急着走掉, 在上图的客户端页面查看回调地址,手动修改{baseUrl}为你的域名,填写到 Logto 应用设置的重定向 URIs 字段中。

退出登录后重定向 URIs 填写首页即可。

测试

在 Halo 的个人中心界面中尝试绑定

若能够正常注册 Logto 账户,且正常绑定到 Halo,尝试直接使用 Logto 登录,若成功登录,则说明配置成功。

参考资料

[1]https://docs.logto.io/

[2]https://apps.fit2cloud.com/1panel/logto

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号