Outline整合KeyCloak的OIDC登录

前面几篇文章讲到了《Docker Compose安装Keycloak》、《Keycloak使用群晖Synology Directory Server作为AD/LDAP用户数据源》,我们已经实现了KeyCloak的安装和与群晖NAS的整合,那么接下来我们需要用这个AD的用户数据源为一系列服务提供账号登陆支持。Gitlab已经讲过了,那么接下来可以试一下Outline。 Outline是一个比较新的,类似Notion的在线记事本,我前面也讲了如何快速部署Outline。但之前是用了Azure Active Directory,在手机的EDGE浏览器登录的时候,非要拉起微软自己的APP,华为手机还不支持。所以我们现在要干掉Azure Active Directory,改为自己的群晖AD用户。 1、KeyCloak中创建新的Realm 首先,我建议是单独创建一个realm,不要使用KeyCloak默认的master,好处是可以做到用户数据和应用的隔离,保证KeyCloak的安全性。 登录KeyCloak的后台,左上角有个下拉,默认是master,点击下拉菜单,然后点击『Create…

Keycloak使用群晖Synology Directory Server作为AD/LDAP用户数据源

这又是keycloak的另外一个大坑。keycloak并不会自动创建一系列SSL证书相关的配置,都要自己手撸。 如果还没安装keycloak,可以参考前一篇文章『Docker Compose安装Keycloak』 然后,你的群晖要先把AD配置好,这里就不重复了。 1、获得群晖AD对应的SSL证书 首先,要把群晖为AD所生产的自签名SSL证书下载回来,后面需要用。 位置:群晖DSM管理后台-控制面板-安全性-证书。如果不太确定是哪张证书,可以点击『设置』,找到『Synology Directory Server』对应的证书下拉。 在对应的证书上点击右键,选择『导出证书』 导出的证书解压后有两个文件,一个是证书本身cert.pem,另外一个是证书的私钥privkey.pem,我们需要用到的是cert.pem OK,基础数据准备好,我们开始干活。 2、为keycloak生成Java所需要用的keystore文件 这里有个大坑。虽然新版本的Java建议出于更高的安全性考虑,keystore应该使用PKCS12格式,keytool也是默认创建PKCS12格式的keysto…

Docker Compose安装Keycloak

Keycloak的安装其实挺烦人的,相关文章并不多,参考也不多,很多例子都是旧版本的,随手记录下安装和配置信息吧。 使用的数据库是postgresql,假设已经有安装好的postgresql,并且默认管理员账号是postgres,那么我们先创建keycloak的用户 su - postgres # 我们创建一个名为keycloak的pgsql用户,和名为keycloak的数据库 createuser -s -P keycloak createdb keycloak -O keycloak 然后我们创建一个文件,docker-compose.yml version: "3" services: keycloak: image: quay.io/keycloak/keycloak:20.0 container_name: keycloak environment: KC_HOSTNAME: <域名,如sso.naizhao.com> KC_HTTP_PORT: <监听的http端口,…

Gitlab整合群晖Synology Active Directory

群晖自己的文章并没有相关的帮助文档,网上也搜不到,这里留下来做个备份吧。 1、群晖先创建AD域 这里假定你设置的域名是wu.work,NetBIOS是wu,域管理员账号是ad-admin。大概类似截图中的样子 域管理员账号是你创建AD时输入的,不是NAS的管理员账号,别搞错了! 2、编辑gitlab.rb 如果你是用docker-compose安装的,应该会在docker-compose.yml里面指定了config目录的volume,在config目录里面就可以找到gitlab.rb。如果你是其他方式安装,文件在/etc/gitlab。如果还是找不着,自己Google。 打开gitlab.rb文件,找到ldap部分,然后把下面的内容贴进去(自己根据情况修改) 注意空格和缩进,注意空格和缩进,注意空格和缩进!!! # LDAP gitlab_rails['ldap_enabled'] = true gitlab_rails['prevent_ldap_sign_in'] = false gitlab_rails[…