From ff71cb75b79350b8fb8849f63f5de8b12d31170e Mon Sep 17 00:00:00 2001 From: Felix Albrigtsen Date: Mon, 10 Jun 2024 12:37:20 +0200 Subject: [PATCH] defiant/hedgedoc: move to keycloak --- hosts/defiant/services/hedgedoc.nix | 26 ++++++++++++++------------ secrets/defiant/defiant.yaml | 6 +++--- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/hosts/defiant/services/hedgedoc.nix b/hosts/defiant/services/hedgedoc.nix index e335561..b7ee49f 100644 --- a/hosts/defiant/services/hedgedoc.nix +++ b/hosts/defiant/services/hedgedoc.nix @@ -4,7 +4,7 @@ let domain = "md.feal.no"; port = 3300; host = "127.0.1.2"; - authServerUrl = "https://auth.feal.no"; + authServerUrl = "https://iam.feal.no"; in { # Contains CMD_SESSION_SECRET and CMD_OAUTH2_CLIENT_SECRET sops.secrets."hedgedoc/env" = { @@ -21,9 +21,8 @@ in { allowFreeURL = true; allowAnonymous = false; - allowAnonymousEdits = true; # Allow anonymous edits with the "freely" permission + allowAnonymousEdits = true; - # dbURL = "postgres://hedgedoc@localhost/hedgedoc"; db = { username = "hedgedoc"; database = "hedgedoc"; @@ -32,20 +31,23 @@ in { }; email = false; - oauth2 = { - baseURL = "${authServerUrl}/oauth2"; - tokenURL = "${authServerUrl}/oauth2/token"; - authorizationURL = "${authServerUrl}/ui/oauth2"; - userProfileURL = "${authServerUrl}/oauth2/openid/hedgedoc/userinfo"; + oauth2 = let + oidc = "${authServerUrl}/realms/feal.no/protocol/openid-connect"; + in { + providerName = "Keycloak"; + authorizationURL = "${oidc}/auth"; + baseURL = "${authServerUrl}"; + tokenURL = "${oidc}/token"; + userProfileURL = "${oidc}/userinfo"; clientID = "hedgedoc"; clientSecret = "$CMD_OAUTH2_CLIENT_SECRET"; scope = "openid email profile"; - userProfileUsernameAttr = "name"; + userProfileDisplayNameAttr = "name"; userProfileEmailAttr = "email"; - userProfileDisplayNameAttr = "displayname"; - - providerName = "KaniDM"; + userProfileUsernameAttr = "preferred_username"; + rolesClaim = "hedgedoc-roles"; + accessRole = "hedgedoc-user"; }; }; }; diff --git a/secrets/defiant/defiant.yaml b/secrets/defiant/defiant.yaml index fb9dd2f..31ee357 100644 --- a/secrets/defiant/defiant.yaml +++ b/secrets/defiant/defiant.yaml @@ -2,7 +2,7 @@ matrix: synapse: registrationsecret: ENC[AES256_GCM,data:6gRW6t080VSyNRAmIrMqXL/oj7dj0JbcQekG3lac7zcdvJbgkUaqEGoWdrym2XiEOSLBOVMthnpLdalC2wcyJdmxB7xMNsYS4RfjR3PMKIo1Ap7JSmuKBl3eeaOalHk=,iv:dZl4/qFMoqEbSwL4JF/sjG21e6DuKVxbXwrGHkxfW4U=,tag:LWdCcmUUeTO4YAHkHOSJuw==,type:str] hedgedoc: - env: ENC[AES256_GCM,data:7UU8MNo3AEpG1L0lpbfow4mGsIj7qMgtldCxv2T8rimintl1PN+avb2yxXz2P+1MqxNhacYYfBn5AkVqUJvAvo/HaQmsu+M1iFuMG6vEQuMGZZ1bjcslKxjVFWe9Rxzb9O33jqielsBiUmkP7f0MoGzfdyncpRuGjge+ADL7YXdRdH2zyDLW0txM3P593MQYiGo9wzwb7ZpycX4NsuE=,iv:4QE4RwD6c7KQS/w15YP/P2u7iOTWd36/YhpA2Jtdu0U=,tag:QBvO3q5C9TK0oSeso367/Q==,type:str] + env: ENC[AES256_GCM,data:30kDNwJA/nL2/l1gSVPWgFYIrrxnhKbsQPaS1MqeaggjDpPxyNOhSLf5/p5Z5S/jDuJapevpQR70hfAM8g3gLRNIFtP38V/8w0lUngpuz6MzL7THdNfbabOKsHpNht+nxwGXE1YSd0D4OuX5ll5pLWT8nQtNhhOzuYmDIJ/Xc01lmcGc2ThsA0GlkWZxUw==,iv:ht6BiCYJReWFoR1zpo/X0bcgMV9tYfXUM7Re2ngEk4M=,tag:XrlYHyhVujhhWul3czSTDg==,type:str] vaultwarden: admintoken: ENC[AES256_GCM,data:sUPOe3goxpJFpe5fBdwcM5Z6+DXNdZr5Xd6HzRUb7LtDk9IUtwL4wtlckwnMRoLF628XvCV3ObrX2UmTqUX/6pWqLkWL/vWb3C8ogq4=,iv:vvO9nEkCjcKvl+ILEMlMorMmvyNM1juRYRnEolwg9sQ=,tag:wFnz9oOA+ZGrb4UqKrtUcA==,type:str] microbin: @@ -36,8 +36,8 @@ sops: RXcvQU1JYnl0bUtocTZuNkRxcGQwR2MKnyAYtF2y7XBmNuIYi6RzqEJEPPg7B22A fQVeDfIhiNSVva784KTU+y4TU1UPxumriRrLRFPF3h42ZEq2zQAgrQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-06-07T19:36:11Z" - mac: ENC[AES256_GCM,data:WOLO+WYzu1svAqnX8PTnzoSB//hLJ11FfcSWk0/bnQjpOyxQ0Ey7juNyMMe+EuhZ0NZ6JE6MkHk2uVdgSmRIKdxBTSoZuzCllRB4vv1lAABPllOljpjEoDKbZBmiOereE4dwY8AFsFl5uHVqzQ2uvO6FUKY9/vgvXuSABZsN0+w=,iv:wQKa7EiBIYogELOgKotUdxgld/HwIJf9EWpMAZS8D/0=,tag:6auS6hruXlcmiQsphk4tVA==,type:str] + lastmodified: "2024-06-10T09:40:44Z" + mac: ENC[AES256_GCM,data:HgzZvi14Dgacvax54pqeGXowfiFAZIaLhkmJZieL+pUMiZKKp5vo8M4j2ZyM4DB/a9j58Ao1xlykCnit/vfUgeRJlqZsGedMDLtDvW6mEwHNwZwxvX3Zmsykl/Nt4FZS47jdB5J/1r/vAjtVos7K9UWBfiQUH0EJp6OpVWrWzrc=,iv:64G2tA5tqeJjZPunGFJYhP4z4di0PTCqVzA7QlvTETY=,tag:O2zaf0qRwiSwcrfMQE2uKA==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1