这是基于 sapic 的一个小的扩展模块, 用来接入 Passportd OIDC(OpenID Connect)登录。
正式版本
$ pip install -U sapicd-oauth2-passportd
开发版本
$ pip install -U git+https://github.com/sapicd/oauth2-passportd.git@master
此扩展请在部署 sapic 图床后使用,需要 其管理员进行添加扩展、设置钩子等操作。
请在 站点管理-钩子扩展 中点击安装第三方包,可在弹窗列表中选择 oauth2-passportd,点击行尾图标,或者在弹窗底部按照正式/开发版本填写安装。
安装完成后,在 站点管理-钩子扩展 中点击添加第三方钩子,
输入名称: oauth2passportd ,确认后提交即可加载这个模块。
在 站点管理-网站设置 底部的钩子配置区域配置以下参数:
- Passportd 服务地址:OIDC Provider 的根地址,例如
https://passport.example.com - Passportd 客户端ID:在 Passportd 中注册的 OIDC Client ID
- Passportd 客户端密钥:对应的 Client Secret
1、在 Passportd(你的 OIDC Server)中注册一个 OIDC Client。
回调地址(redirect_uri)是 sapic 地址,比如 https://sapic.example.com/extendpoint/oauth2passportd/callback
注意:scope选择profiel、email,其他参数根据实际填写。
提交后生成的 Client ID 和 Client Secret 是需要配置到 sapic 中的。
2、在 sapic 站点管理-网站设置 底部钩子配置区域中选择第三方认证为 oauth2passportd 即可。
启用后,在登录页面会显示使用 Passportd 登录,跳转到授权页,授权后跳回 sapic。
PS:
- 登录状态是依靠 session
- 用户名即 Passportd UID