feat: add keycloak oidc provisioning tasks
Signed-off-by: Bert-Jan Fikse <bert-jan@whatwedo.ch>
This commit is contained in:
parent
495b61c1d1
commit
2063268ed6
3 changed files with 104 additions and 3 deletions
|
|
@ -31,7 +31,7 @@ authentik_oidc_apps:
|
||||||
client_id_env: NEXTCLOUD_OIDC_CLIENT_ID
|
client_id_env: NEXTCLOUD_OIDC_CLIENT_ID
|
||||||
client_secret_env: NEXTCLOUD_OIDC_CLIENT_SECRET
|
client_secret_env: NEXTCLOUD_OIDC_CLIENT_SECRET
|
||||||
redirect_uris:
|
redirect_uris:
|
||||||
- url: "https://nextcloud.local.test/login/generic_oauth"
|
- url: "https://nextcloud.local.test/apps/user_oidc/code"
|
||||||
matching_mode: strict
|
matching_mode: strict
|
||||||
signing_key_name: "authentik Self-signed Certificate"
|
signing_key_name: "authentik Self-signed Certificate"
|
||||||
flows:
|
flows:
|
||||||
|
|
|
||||||
|
|
@ -1 +1,73 @@
|
||||||
keycloak_admin_password: admin
|
# Keycloak configuration for vagrant environment
|
||||||
|
keycloak_domain: keycloak.local.test
|
||||||
|
keycloak_admin_password: admin
|
||||||
|
|
||||||
|
# Enable provisioning via Keycloak Admin API
|
||||||
|
keycloak_provisioning_enabled: true
|
||||||
|
|
||||||
|
# Realm configuration
|
||||||
|
keycloak_realm: "vagrant"
|
||||||
|
keycloak_realm_display_name: "Vagrant Test Realm"
|
||||||
|
|
||||||
|
# Groups to provision
|
||||||
|
keycloak_groups:
|
||||||
|
- name: admins
|
||||||
|
- name: users
|
||||||
|
- name: developers
|
||||||
|
|
||||||
|
# Local users to provision
|
||||||
|
keycloak_local_users:
|
||||||
|
- username: testadmin
|
||||||
|
first_name: "Test"
|
||||||
|
last_name: "Admin"
|
||||||
|
email: "admin@local.test"
|
||||||
|
password: "admin"
|
||||||
|
groups:
|
||||||
|
- name: admins
|
||||||
|
- username: testuser
|
||||||
|
first_name: "Test"
|
||||||
|
last_name: "User"
|
||||||
|
email: "user@local.test"
|
||||||
|
password: "user"
|
||||||
|
groups:
|
||||||
|
- name: users
|
||||||
|
|
||||||
|
# OIDC clients to provision
|
||||||
|
keycloak_oidc_clients:
|
||||||
|
- client_id: nextcloud
|
||||||
|
name: "Nextcloud"
|
||||||
|
client_secret: "nextcloud-secret-change-in-production"
|
||||||
|
redirect_uris:
|
||||||
|
- "https://nextcloud.local.test/apps/user_oidc/code"
|
||||||
|
default_client_scopes:
|
||||||
|
- openid
|
||||||
|
- email
|
||||||
|
- profile
|
||||||
|
- client_id: httpbin
|
||||||
|
name: "HTTPBin Test App"
|
||||||
|
client_secret: "httpbin-secret-change-in-production"
|
||||||
|
redirect_uris:
|
||||||
|
- "https://httpbin.local.test/callback"
|
||||||
|
default_client_scopes:
|
||||||
|
- openid
|
||||||
|
- email
|
||||||
|
- profile
|
||||||
|
|
||||||
|
# Identity providers (external login sources)
|
||||||
|
# Uncomment and configure for production use with real credentials
|
||||||
|
# keycloak_identity_providers:
|
||||||
|
# - alias: entra-id
|
||||||
|
# display_name: "Login with Microsoft"
|
||||||
|
# provider_id: oidc
|
||||||
|
# config:
|
||||||
|
# clientId: "your-entra-client-id"
|
||||||
|
# clientSecret: "your-entra-client-secret"
|
||||||
|
# authorizationUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"
|
||||||
|
# tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token"
|
||||||
|
# defaultScope: "openid profile email"
|
||||||
|
|
||||||
|
# Resources to remove (for cleanup when removing items from above lists)
|
||||||
|
keycloak_removed_users: []
|
||||||
|
keycloak_removed_groups: []
|
||||||
|
keycloak_removed_clients: []
|
||||||
|
keycloak_removed_identity_providers: []
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
nextcloud_collabora_disable_cert_verification: true
|
nextcloud_collabora_disable_cert_verification: true
|
||||||
|
nextcloud_allow_local_remote_servers: true # Allow requests to local network in Vagrant
|
||||||
|
nextcloud_oidc_allow_selfsigned: true # Allow self-signed certs for OIDC in Vagrant
|
||||||
|
|
||||||
# S3 storage configuration using Garage
|
# S3 storage configuration using Garage
|
||||||
nextcloud_use_s3_storage: true
|
nextcloud_use_s3_storage: true
|
||||||
|
|
@ -12,4 +14,31 @@ nextcloud_s3_usepath_style: true
|
||||||
|
|
||||||
# Extra hosts for container DNS resolution (Vagrant only)
|
# Extra hosts for container DNS resolution (Vagrant only)
|
||||||
nextcloud_extra_hosts:
|
nextcloud_extra_hosts:
|
||||||
- "storage.local.test:192.168.56.11"
|
- "storage.local.test:192.168.56.11"
|
||||||
|
- "keycloak.local.test:192.168.56.11"
|
||||||
|
- "authentik.local.test:192.168.56.11"
|
||||||
|
|
||||||
|
# OIDC providers for login
|
||||||
|
nextcloud_oidc_providers:
|
||||||
|
- identifier: keycloak
|
||||||
|
display_name: "Login with Keycloak"
|
||||||
|
client_id: "nextcloud"
|
||||||
|
client_secret: "nextcloud-secret-change-in-production"
|
||||||
|
discovery_url: "https://keycloak.local.test/realms/vagrant/.well-known/openid-configuration"
|
||||||
|
scope: "openid email profile"
|
||||||
|
unique_uid: true
|
||||||
|
mapping:
|
||||||
|
uid: preferred_username
|
||||||
|
display_name: name
|
||||||
|
email: email
|
||||||
|
- identifier: authentik
|
||||||
|
display_name: "Login with Authentik"
|
||||||
|
client_id: "test1234"
|
||||||
|
client_secret: "test1234"
|
||||||
|
discovery_url: "https://authentik.local.test/application/o/nextcloud/.well-known/openid-configuration"
|
||||||
|
scope: "openid email profile"
|
||||||
|
unique_uid: true
|
||||||
|
mapping:
|
||||||
|
uid: preferred_username
|
||||||
|
display_name: name
|
||||||
|
email: email
|
||||||
Loading…
Add table
Add a link
Reference in a new issue