群晖 DSM 7.1 SSO OIDC 配置过程
由于目前群晖不支持通过SSO获取到的用户信息进行自动创建新用户,所以只能先通过ldap或者ad域来进行用户身份供给,这里需要保证两边的用户能通过一个唯一值去进行关联,例如唯一用户名或者邮箱等。
接下来我们进行配置,先勾选启用,配置文件选择oidc(需要在你的SSO那边也新建一个oidc应用,这里就不演示了)
![]() |
名称即配置完后登陆界面上看到的名称,一般为SSO的名字 Wellknown URL 直接从SSO那边复制 应用程序ID、密钥同理 重定向URI填写当前群晖的登陆地址,需要注意http和https的端口和协议头不一样,一般建议填写https的,然后这个URI还需要再填写到你的SSO那边,两边保持一致 授权范围默认可不填,也可以参考我这个,具体还是看你的SSO 用户名声明,这个比较关键,这个就是上文提到的,能与你的用户唯一关联的值,这个如果不确定可以去翻一翻SSO的文档,或者是尝试自己去模拟一边登录SSO的过程,然后看一看最后一步获取用户信息的那个接口中有哪些字段 |
正常情况下,配置完以上信息后就结束了,但是这里还有个坑,如果你配置完毕后发现登陆失败,提示账号密码错误,那就是还需要修改一下id_token的签名算法为RS256,这个有的SSO默认是HS256的,所以就会失败。
然而群晖官方这里又没有给出任何说明材料,巨坑,都是最后自己到群晖里面抓包才发现的,也不知道是不是群晖实现上有什么Bug。
需要抓群晖对外请求的包,可以参考这篇文章
https://www.cnblogs.com/chasjd/p/16396441.html