diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml
index d82f3b45f87958f16e7a168d6e067cc1ef67783d..4d33cc34e54ec5818e14827803b14006029e5a4e 100644
--- a/.docker/docker-compose.yml
+++ b/.docker/docker-compose.yml
@@ -305,7 +305,6 @@ services:
       NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}"
       NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files"
-      NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "${BASE_URL:-http://localhost:8080}/realms/dbrepo"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "${AUTH_SERVICE_CLIENT:-dbrepo-client}"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_SECRET: "${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "${BASE_URL:-http://localhost}/auth/keycloak/callback"
diff --git a/.docs/api/auth-service.md b/.docs/api/auth-service.md
index 93e87beaf280b5ed9b96a2aca508308098676173..7b28901a9b9d49a01d48a313187f86832509a03b 100644
--- a/.docs/api/auth-service.md
+++ b/.docs/api/auth-service.md
@@ -88,10 +88,6 @@ which is imported into Keycloak on startup.
 
 ## Limitations
 
-* No support for sending e-mails through Keycloak by default.
-* No support for temporary passwords.
-* No support for multi-factor authentication.
-
 !!! question "Do you miss functionality? Do these limitations affect you?"
 
     We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
diff --git a/.docs/api/ui.md b/.docs/api/ui.md
index 30b32c0a0ccde771c8bde22f21ca630d6354a9b3..b82058c19bae4c4e629e0f1e06eca29985c94f67 100644
--- a/.docs/api/ui.md
+++ b/.docs/api/ui.md
@@ -101,6 +101,7 @@ See the [API Overview](..) page for detailed examples.
 
 ## Limitations
 
+* Changing the OIDC provider URL requires to build the UI from scratch.
 * When developing locally, the `axios` module does not parse custom headers (such as `X-Count`, `X-Headers`) and/or
   blocks CORS requests wrongfully.
 
diff --git a/.gitlab/agents/dev/values.yaml b/.gitlab/agents/dev/values.yaml
index 70ada3ca2083637763845747094272fba54dd29f..b4f579070614e538c7cd731e2a10b1b6e89d4d1b 100644
--- a/.gitlab/agents/dev/values.yaml
+++ b/.gitlab/agents/dev/values.yaml
@@ -132,7 +132,7 @@ metricdb:
 ui:
   enabled: true
   image:
-    name: registry.datalab.tuwien.ac.at/dbrepo/ui:1.6.3rc0
+    name: registry.datalab.tuwien.ac.at/dbrepo/ui:1.6.3rc3-datalab-dev
   public:
     api:
       client: https://s155.datalab.tuwien.ac.at
diff --git a/dbrepo-ui/layouts/default.vue b/dbrepo-ui/layouts/default.vue
index 50aa155d86c857921fe22384565e2e93583e9524..bd2b12e13addab25e36936438b71f2b2c85081d7 100644
--- a/dbrepo-ui/layouts/default.vue
+++ b/dbrepo-ui/layouts/default.vue
@@ -173,6 +173,7 @@ useServerHead({
 import JumboBox from '@/components/JumboBox.vue'
 import { useCacheStore } from '@/stores/cache.js'
 import { errorCodeKey, makeError } from '@/utils'
+import {useNuxtApp} from "#app";
 
 export default {
   components: {
diff --git a/dbrepo-ui/nuxt.config.ts b/dbrepo-ui/nuxt.config.ts
index 28505257a22a2db405519a39599f0caaeaac1179..911e91131d45cdeda91d60ad0cb2c799c977f929 100644
--- a/dbrepo-ui/nuxt.config.ts
+++ b/dbrepo-ui/nuxt.config.ts
@@ -110,22 +110,25 @@ export default defineNuxtConfig({
   },
 
   oidc: {
+    defaultProvider: 'keycloak',
     providers: {
       keycloak: {
-        audience: 'account',
-        baseUrl: 'http://localhost/realms/dbrepo',
-        clientId: 'dbrepo-client',
+        clientId: '',
         clientSecret: '', // inject on runtime
+        authorizationUrl: '',
+        userInfoUrl: '',
+        tokenUrl: '',
+        logoutUrl: '',
         scope: ['openid', 'roles'],
         optionalClaims: ['realm_access'],
-        redirectUri: 'http://localhost/auth/keycloak/callback',
-        userNameClaim: 'preferred_username',
+        redirectUri: '',
         exposeAccessToken: true,
-        logoutRedirectUri: 'http://localhost',
+        logoutRedirectUri: '',
       },
     },
     middleware: {
-      globalMiddlewareEnabled: false
+      globalMiddlewareEnabled: false,
+      customLoginPage: false
     },
   },
 
diff --git a/docker-compose.yml b/docker-compose.yml
index 25e0b397335bf148af33ce3c04bdad7fcef2565f..8e81d42e04589417a4461bcb3038998839ebfca6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -335,11 +335,14 @@ services:
       NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}"
       NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files"
-      NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "${BASE_URL:-http://localhost}/realms/dbrepo"
+      NUXT_OIDC_PROVIDERS_KEYCLOAK_AUTHORIZATION_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/auth"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "${AUTH_SERVICE_CLIENT:-dbrepo-client}"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_SECRET: "${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}"
-      NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "${BASE_URL:-http://localhost}/auth/keycloak/callback"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_LOGOUT_REDIRECT_URI: "${BASE_URL:-http://localhost}"
+      NUXT_OIDC_PROVIDERS_KEYCLOAK_LOGOUT_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/logout"
+      NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "${BASE_URL:-http://localhost}/auth/keycloak/callback"
+      NUXT_OIDC_PROVIDERS_KEYCLOAK_TOKEN_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/token"
+      NUXT_OIDC_PROVIDERS_KEYCLOAK_USER_INFO_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/userinfo"
     depends_on:
       dbrepo-search-service:
         condition: service_healthy
diff --git a/helm/dbrepo/templates/ui-secret.yaml b/helm/dbrepo/templates/ui-secret.yaml
index 3e1a6c6388da782610819d07c93bbfb9dfa3af87..3afb602785767d106ba56d548f7a364ab46e3d04 100644
--- a/helm/dbrepo/templates/ui-secret.yaml
+++ b/helm/dbrepo/templates/ui-secret.yaml
@@ -22,9 +22,12 @@ stringData:
   NUXT_PUBLIC_PID_DEFAULT_PUBLISHER: "{{ .Values.ui.public.pid.default.publisher }}"
   NUXT_PUBLIC_UPLOAD_CLIENT: "{{ .Values.ui.public.upload.client | default $uploadEndpoint }}"
   NUXT_PUBLIC_BROKER_CONNECTIONS: "{{ include "dbrepo.broker.connections" . }}"
-  NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "{{ .Values.gateway }}/realms/dbrepo"
+  NUXT_OIDC_PROVIDERS_KEYCLOAK_AUTHORIZATION_URL: "{{ .Values.gateway }}/realms/dbrepo/protocol/openid-connect/auth"
   NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "{{ .Values.authservice.client.id }}"
   NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_SECRET: "{{ .Values.authservice.client.secret }}"
-  NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "{{ .Values.gateway }}/auth/keycloak/callback"
   NUXT_OIDC_PROVIDERS_KEYCLOAK_LOGOUT_REDIRECT_URI: "{{ .Values.gateway }}"
+  NUXT_OIDC_PROVIDERS_KEYCLOAK_LOGOUT_URL: "{{ .Values.gateway }}/realms/dbrepo/protocol/openid-connect/logout"
+  NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "{{ .Values.gateway }}/auth/keycloak/callback"
+  NUXT_OIDC_PROVIDERS_KEYCLOAK_TOKEN_URL: "{{ .Values.gateway }}/realms/dbrepo/protocol/openid-connect/token"
+  NUXT_OIDC_PROVIDERS_KEYCLOAK_USER_INFO_URL: "{{ .Values.gateway }}/realms/dbrepo/protocol/openid-connect/userinfo"
 {{- end }}