环境
DS3018xs
DSM 7.1.1
域使用的是Synology的LDAP
NAS和keycloak加入同一个Synology LDAP
容器下载地址:
https://registry.hub.docker.com/r/jboss/keycloak/
部署容器
需要自定义容器变量,指定keycloak的登录用户名和密码:
KEYCLOAK_USER
KEYCLOAK_PASSWORD
指定keycloak的服务端口:
keycloak配置
启动容器后登录keycloak:
配置LDAP的外部用户获取:
Synology LDAP 服务器ip是192.168.0.68,请参考以下截图配置:
查看Synology LDAP 服务器的Bind DN:
填写到对应位置后进行测试:
获取用户,查看是否可以正常获取,如果无法正常获取请检查 Users DN的配置是否正常:
可以在keycloak的User中查看LDAP用户是否导入到keycloak
在Clients中创建新的应用程序
这边创建为dsm7
选择验证类型为 confidential :
base URL 为 /
在mappers 映射中新增映射配置:
请参考以下截图建立username的映射:
访问以下网页查看keycloak配置文件是否工作正常,以下地址后续会用于wellknown url使用:
http://192.168.0.62:18080/auth/realms/master/.well-known/openid-configuration
获取应用程序的密钥,需要填写在配置文件中:
NAS的配置文件如下:
NAS登录
使用重定向URL访问NAS可以看到SSO验证的选项:
按流程登录Synology LDAP的用户密码就可以正常登录: