diff --git a/ansible/roles/authelia-for-gitlab/defaults/main.json b/ansible/roles/authelia-for-gitlab/defaults/main.json new file mode 100644 index 0000000..aeeec3b --- /dev/null +++ b/ansible/roles/authelia-for-gitlab/defaults/main.json @@ -0,0 +1,5 @@ +{ + "var_authelia_for_gitlab_gitlab_url_base": "https://gitlab.example.org", + "var_authelia_for_gitlab_client_id": "gitlab", + "var_authelia_for_gitlab_client_secret": "REPLACE_ME" +} diff --git a/ansible/roles/authelia-for-gitlab/info.md b/ansible/roles/authelia-for-gitlab/info.md new file mode 100644 index 0000000..9bf2a1f --- /dev/null +++ b/ansible/roles/authelia-for-gitlab/info.md @@ -0,0 +1,10 @@ +## Beschreibung + +Um [GitLab](../gitlab) gegen [Authelia](../authelia) authentifizieren zu lassen + + +## Verweise + +- [Authelia-Dokumentation | GitLab Integration](https://www.authelia.com/integration/openid-connect/gitlab/) +- [GitLab-Dokumentation | Use OpenID Connect as an OAuth 2.0 authentication provider](https://docs.gitlab.com/ee/administration/auth/oidc.html) + diff --git a/ansible/roles/authelia-for-gitlab/tasks/main.json b/ansible/roles/authelia-for-gitlab/tasks/main.json new file mode 100644 index 0000000..5790e65 --- /dev/null +++ b/ansible/roles/authelia-for-gitlab/tasks/main.json @@ -0,0 +1,25 @@ +[ + { + "name": "configuration | emplace", + "become": true, + "ansible.builtin.template": { + "src": "authelia-client-conf.json.j2", + "dest": "/etc/authelia/conf.d/clients/gitlab.json" + } + }, + { + "name": "configuration | apply", + "become": true, + "ansible.builtin.command": { + "cmd": "/usr/bin/authelia-conf-compose" + } + }, + { + "name": "restart service", + "become": true, + "ansible.builtin.systemd_service": { + "state": "restarted", + "name": "authelia" + } + } +] diff --git a/ansible/roles/authelia-for-gitlab/templates/authelia-client-conf.json.j2 b/ansible/roles/authelia-for-gitlab/templates/authelia-client-conf.json.j2 new file mode 100644 index 0000000..2c1f44a --- /dev/null +++ b/ansible/roles/authelia-for-gitlab/templates/authelia-client-conf.json.j2 @@ -0,0 +1,17 @@ +{ + "id": "{{var_authelia_for_gitlab_client_id}}", + "description": "GitLab", + "secret": "{{var_authelia_for_gitlab_client_secret}}", + "public": false, + "authorization_policy": "one_factor", + "redirect_uris": [ + "{{var_authelia_for_gitlab_gitlab_url_base}}/users/auth/openid_connect/callback + ], + "scopes": [ + "openid", + "profile" + "groups", + "email" + ], + "userinfo_signing_algorithm": "none" +}