diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml
index e33669521bbc6170062537f6154818144b953064..378ce1ca2a7c0a855f9d7adc4068ed44ef5e6852 100644
--- a/.docker/docker-compose.yml
+++ b/.docker/docker-compose.yml
@@ -78,7 +78,7 @@ services:
     restart: "no"
     container_name: dbrepo-auth-service
     hostname: auth-service
-    image: bitnami/keycloak:26.0.0-debian-12-r1
+    image: bitnami/keycloak:26.0.4-debian-12-r0
     volumes:
       - ./config/import-realms.sh:/docker-entrypoint-initdb.d/import-realms.sh
       - ./config/master-realm.json:/opt/keycloak/data/import/master-realm.json
@@ -87,6 +87,7 @@ services:
     ports:
       - "8080:8080"
     environment:
+      KEYCLOAK_ENABLE_HEALTH_ENDPOINTS: "true"
       KEYCLOAK_ENABLE_HTTPS: "false"
       KEYCLOAK_ENABLE_STATISTICS: "true"
       KEYCLOAK_DATABASE_HOST: "auth-db"
@@ -305,10 +306,15 @@ 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_AUTHORIZATION_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/auth"
+      NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "${BASE_URL:-http://localhost}/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"
       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/dbrepo-gateway-service/dbrepo.conf b/dbrepo-gateway-service/dbrepo.conf
index 68778de757bf331e183e7258755c6f3ef210d6ec..516be216f01d48090b6903f2778260fb3be3699a 100644
--- a/dbrepo-gateway-service/dbrepo.conf
+++ b/dbrepo-gateway-service/dbrepo.conf
@@ -41,7 +41,7 @@ upstream dashboard-service {
 }
 
 upstream auth-service {
-    server auth-service:8080;
+    server auth-service:8443;
 }
 
 server {
diff --git a/dbrepo-metadata-db/migration/schema_1.6.2-to-1.6.3.sql b/dbrepo-metadata-db/migration/schema_1.6.2-to-1.6.3.sql
new file mode 100644
index 0000000000000000000000000000000000000000..0b841231acda02432060b1cc5a616a4e5e9ee80c
--- /dev/null
+++ b/dbrepo-metadata-db/migration/schema_1.6.2-to-1.6.3.sql
@@ -0,0 +1,12 @@
+ALTER TABLE mdb_users
+    DROP SYSTEM VERSIONING;
+BEGIN;
+ALTER TABLE mdb_users
+    ADD COLUMN keycloak_id character varying(36) NOT NULL;
+UPDATE mdb_users
+SET keycloak_id = id;
+ALTER TABLE mdb_users
+    ADD CONSTRAINT UNIQUE (keycloak_id);
+COMMIT;
+ALTER TABLE mdb_users
+    ADD SYSTEM VERSIONING;
\ No newline at end of file
diff --git a/dbrepo-ui/components/ResourceStatus.vue b/dbrepo-ui/components/ResourceStatus.vue
index 6db6d25385359ee82086b510537107fb3d0d0f31..017908b3af3b34b0ea5b99405081eb49133495e5 100644
--- a/dbrepo-ui/components/ResourceStatus.vue
+++ b/dbrepo-ui/components/ResourceStatus.vue
@@ -5,7 +5,7 @@
       v-if="!inline"
       :size="size"
       :color="color"
-      :variant="chipVariant">
+      variant="outlined">
       {{ status }}
     </v-chip>
     <span
@@ -39,9 +39,6 @@ export default {
       if (!this.resource) {
         return null
       }
-      if (this.hasIdentifier) {
-        return 'pid'
-      }
       if (!this.resource.is_public && !this.resource.is_schema_public) {
         return 'draft'
       } else if(!this.resource.is_public && this.resource.is_schema_public) {
@@ -60,12 +57,6 @@ export default {
     hasIdentifier () {
       return this.resource.identifiers?.length > 0
     },
-    chipVariant () {
-      if (this.hasIdentifier) {
-        return 'tonal'
-      }
-      return 'outlined'
-    },
     color () {
       if (this.hasIdentifier) {
         return 'info'