From 0f2b456ad8e12a862d5af70fd62423226fe8a90f Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Tue, 10 Sep 2024 18:54:42 +0800
Subject: [PATCH] Added SSO

---
 dbrepo-ui/bun.lockb                       | Bin 376041 -> 378608 bytes
 dbrepo-ui/components/user/UserToolbar.vue |  23 +-
 dbrepo-ui/composables/axios-instance.ts   |  36 +--
 dbrepo-ui/layouts/default.vue             |  79 ++---
 dbrepo-ui/middleware/auth.ts              |   7 +
 dbrepo-ui/nuxt.config.ts                  | 349 +++++++++++++---------
 dbrepo-ui/package.json                    |   1 +
 dbrepo-ui/pages/user/authentication.vue   |   7 +-
 dbrepo-ui/pages/user/developer.vue        | 230 --------------
 dbrepo-ui/pages/user/index.vue            |  23 +-
 dbrepo-ui/pages/user/info.vue             |  42 ++-
 dbrepo-ui/stores/user.js                  |  32 +-
 12 files changed, 286 insertions(+), 543 deletions(-)
 create mode 100644 dbrepo-ui/middleware/auth.ts
 delete mode 100644 dbrepo-ui/pages/user/developer.vue

diff --git a/dbrepo-ui/bun.lockb b/dbrepo-ui/bun.lockb
index 34e1f3dd06864bd64d099c2212a7b45cb5140d8f..35d4d918b6b74562ce445a20d60ebc12b72ae319 100755
GIT binary patch
delta 71165
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

delta 69666
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

diff --git a/dbrepo-ui/components/user/UserToolbar.vue b/dbrepo-ui/components/user/UserToolbar.vue
index b7452e52c7..3a16503673 100644
--- a/dbrepo-ui/components/user/UserToolbar.vue
+++ b/dbrepo-ui/components/user/UserToolbar.vue
@@ -11,32 +11,35 @@
           <v-tab
             :text="$t('toolbars.user.authentication')"
             to="/user/authentication" />
-          <v-tab
-            :text="$t('toolbars.user.developer')"
-            to="/user/developer" />
         </v-tabs>
       </template>
     </v-toolbar>
   </div>
 </template>
 
+<script setup>
+definePageMeta({
+  middleware: ['auth']
+})
+const { $oidc } = useNuxtApp()
+</script>
 <script>
-import { useUserStore } from '@/stores/user'
-
 export default {
   data () {
     return {
-      tab: null,
-      userStore: useUserStore()
+      tab: null
     }
   },
   computed: {
     user () {
-      return this.userStore.getUser
+      return this.$oidc.user
     },
     roles () {
-      return this.userStore.getRoles
-    }
+      if (!this.user || !this.user.realm_access) {
+        return []
+      }
+      return this.user.realm_access.roles
+    },
   }
 }
 </script>
diff --git a/dbrepo-ui/composables/axios-instance.ts b/dbrepo-ui/composables/axios-instance.ts
index d4f274b717..55799aa741 100644
--- a/dbrepo-ui/composables/axios-instance.ts
+++ b/dbrepo-ui/composables/axios-instance.ts
@@ -1,11 +1,10 @@
 import axios, {type AxiosInstance} from 'axios'
-import {useUserStore} from '@/stores/user'
 
 let instance: AxiosInstance | null = null;
 
 export const useAxiosInstance = () => {
-  const config = useRuntimeConfig();
   const userStore = useUserStore()
+  const config = useRuntimeConfig();
   if (!instance) {
     instance = axios.create({
       timeout: 90_000,
@@ -19,37 +18,8 @@ export const useAxiosInstance = () => {
     });
     instance.interceptors.request.use((config) => {
       const token = userStore.getToken
-      const refreshToken = userStore.getRefreshToken
-      if (!token || !refreshToken) {
-        return config
-      }
-      const authenticationService = useAuthenticationService()
-      if (authenticationService.isExpiredToken(refreshToken)) {
-        console.warn('Refresh token is expired: trigger logout of user')
-        userStore.logout()
-        return config
-      }
-      if (!authenticationService.isExpiredToken(token)) {
-        config.headers.Authorization = `Bearer ${token}`
-        return config
-      }
-      console.warn('Access token expired: request a new one')
-      const userService = useUserService()
-      return userService.refreshToken(refreshToken)
-        .then((response: KeycloakOpenIdTokenDto) => {
-          userStore.setToken(response.access_token)
-          userStore.setRefreshToken(response.refresh_token)
-          console.debug('new access token expires:', authenticationService.tokenToExpiryDate(response.access_token))
-          config.headers.Authorization = `Bearer ${response.access_token}`
-          return config
-        })
-        .catch((error: ApiErrorDto) => {
-          if (error.code === 'error.user.credentials') {
-            console.warn('User session expired.')
-            userStore.logout()
-          }
-          return config
-        });
+      config.headers.Authorization = `Bearer ${token}`
+      return config
     })
   }
   return instance;
diff --git a/dbrepo-ui/layouts/default.vue b/dbrepo-ui/layouts/default.vue
index fb4c40266b..c3bd070422 100644
--- a/dbrepo-ui/layouts/default.vue
+++ b/dbrepo-ui/layouts/default.vue
@@ -90,16 +90,16 @@
           @click:append-inner="retrieve" />
         <v-spacer />
         <v-btn
-          v-if="!user"
+          v-if="!$oidc.isLoggedIn"
           class="mr-2"
           color="secondary"
           variant="flat"
           prepend-icon="mdi-login"
-          to="/login">
+          @click="$oidc.login()">
           {{ $t('navigation.login') }}
         </v-btn>
         <v-btn
-          v-if="!user"
+          v-if="!$oidc.isLoggedIn"
           color="primary"
           variant="flat"
           prepend-icon="mdi-account-plus"
@@ -107,12 +107,12 @@
           {{ $t('navigation.signup') }}
         </v-btn>
         <v-btn
-          v-if="user"
+          v-if="$oidc.user"
           to="/user"
           variant="plain"
-          :text="user.username" />
+          :text="$oidc.user.preferred_username" />
         <v-menu
-          v-if="user"
+          v-if="$oidc.isLoggedIn"
           location="bottom">
           <template v-slot:activator="{ props }">
             <v-btn
@@ -121,20 +121,19 @@
           </template>
           <v-list>
             <v-list-item
-              v-if="user"
+              v-if="$oidc.user"
               exact
-              :to="`/search?type=database&owner.username=${user.username}`">
+              :to="`/search?type=database&owner.username=${$oidc.user.username}`">
               {{ $t('navigation.databases') + ' ' + $t('navigation.mine')}}
             </v-list-item>
             <v-list-item
-              v-if="user"
+              v-if="$oidc.user"
               exact
-              :to="`/search?type=identifier&identifiers.creator.username=${user.username}`">
+              :to="`/search?type=identifier&identifiers.creator.username=${$oidc.user.username}`">
               {{ $t('navigation.identifiers') + ' ' + $t('navigation.mine') }}
             </v-list-item>
             <v-list-item
-              v-if="user"
-              @click="logout">
+              @click="logout()">
               {{ $t('navigation.logout') }}
             </v-list-item>
           </v-list>
@@ -144,12 +143,17 @@
     <v-main>
       <v-container>
         <slot />
+        <pre>{{ accessToken }}</pre>
+        <pre>$oidc.isLoggedIn={{ $oidc.isLoggedIn }}</pre>
+        <pre v-if="$oidc.isLoggedIn" style="background:green;">$oidc.user={{$oidc.user}}</pre>
       </v-container>
     </v-main>
   </v-app>
 </template>
 
 <script setup>
+const { $oidc } = useNuxtApp()
+const accessToken = useCookie('oidc._access_token')
 const config = useRuntimeConfig()
 useServerHead({
   title: config.public.title
@@ -158,7 +162,6 @@ useServerHead({
 <script>
 import { useUserStore } from '@/stores/user'
 import { useCacheStore } from '@/stores/cache'
-
 export default {
   data () {
     return {
@@ -172,31 +175,20 @@ export default {
       loadingSearch: false,
       loadingDatabases: false,
       search: null,
-      userStore: useUserStore(),
-      cacheStore: useCacheStore()
     }
   },
   computed: {
-    token () {
-      return this.userStore.getToken
-    },
-    user () {
-      return this.userStore.getUser
-    },
-    locale () {
-      return this.userStore.getLocale
-    },
     messages () {
-      return this.cacheStore.getMessages
+      const cacheStore = useCacheStore()
+      return cacheStore.getMessages
     },
     table () {
-      return this.cacheStore.getTable
+      const cacheStore = useCacheStore()
+      return cacheStore.getTable
     },
     database () {
-      return this.cacheStore.getDatabase
-    },
-    roles () {
-      return this.userStore.getRoles
+      const cacheStore = useCacheStore()
+      return cacheStore.getDatabase
     },
     version () {
       return this.$config.public.version
@@ -231,22 +223,23 @@ export default {
           return
         }
         /* load database and optional access */
+        const cacheStore = useCacheStore()
         this.cacheStore.setRouteDatabase(newObj.database_id)
         if (this.user) {
-          this.userStore.setRouteAccess(newObj.database_id)
+          const userStore = useUserStore()
+          userStore.setRouteAccess(newObj.database_id)
         }
         if (!newObj.table_id) {
           return
         }
         /* load table */
-        this.cacheStore.setRouteTable(newObj.database_id, newObj.table_id)
+        cacheStore.setRouteTable(newObj.database_id, newObj.table_id)
       },
       deep: true,
       immediate: true
     }
   },
   mounted () {
-    this.initEnvironment()
     if (this.$route.query && this.$route.query.q) {
       this.search = this.$route.query.q
     }
@@ -254,7 +247,8 @@ export default {
       return
     }
     this.setTheme()
-    this.cacheStore.reloadMessages()
+    const cacheStore = useCacheStore()
+    cacheStore.reloadMessages()
   },
   methods: {
     login () {
@@ -263,23 +257,12 @@ export default {
     },
     logout () {
       this.$vuetify.theme.global.name = 'tuwThemeLight'
-      this.userStore.logout()
-      this.$router.push('/database')
+      this.$oidc.logout()
     },
     retrieve () {
       console.debug('performing fuzzy search')
       this.$router.push({ path: '/search', query: { q: this.search } })
     },
-    initEnvironment () {
-      if (this.token && !this.user) {
-        console.error('Something went wrong with loading the user: reset user cache')
-        this.userStore.logout()
-      }
-      if (!this.locale) {
-        this.userStore.setLocale('en')
-      }
-      this.$i18n.locale = this.locale
-    },
     setTheme () {
       switch (this.user.attributes.theme) {
         case 'dark':
@@ -295,10 +278,6 @@ export default {
           this.$vuetify.theme.global.name = 'tuwThemeDarkContrast'
           break
       }
-    },
-    setLocale (code) {
-      this.userStore.setLocale(code)
-      this.$i18n.locale = this.locale
     }
   }
 }
diff --git a/dbrepo-ui/middleware/auth.ts b/dbrepo-ui/middleware/auth.ts
new file mode 100644
index 0000000000..b16dfb5bbf
--- /dev/null
+++ b/dbrepo-ui/middleware/auth.ts
@@ -0,0 +1,7 @@
+export default defineNuxtRouteMiddleware((to, from) => {
+  if (import.meta.server) { return }
+  const { $oidc } = useNuxtApp()
+  if (!$oidc.isLoggedIn) {
+    $oidc.login(to.fullPath)
+  }
+})
diff --git a/dbrepo-ui/nuxt.config.ts b/dbrepo-ui/nuxt.config.ts
index dc65c7ac3a..6b5d1a622b 100644
--- a/dbrepo-ui/nuxt.config.ts
+++ b/dbrepo-ui/nuxt.config.ts
@@ -1,6 +1,7 @@
-import { transformAssetUrls } from 'vite-plugin-vuetify'
+import {transformAssetUrls} from 'vite-plugin-vuetify'
+
+const proxy: any = {}
 
-const proxy : any = {}
 
 /* proxies the backend calls, >>NOT<< the frontend calls (clicking) */
 if (process.env.NODE_ENV === 'development') {
@@ -19,153 +20,203 @@ if (process.env.NODE_ENV === 'development') {
 /**
  * https://nuxt.com/docs/guide/concepts/rendering#hybrid-rendering
  */
-const routeRules = {
-}
+const routeRules = {}
 
 export default defineNuxtConfig({
- app: {
-   head: {
-     charset: 'utf-8',
-     viewport: 'width=device-width, initial-scale=1',
-     meta: [
-       { 'http-equiv': 'Content-Security-Policy', content: 'upgrade-insecure-requests' }
-     ],
-     htmlAttrs: {
-       lang: 'en-US'
-     }
-   }
- },
-
- build: {
-   transpile: ['vuetify'],
- },
-
- css: [
-   'vuetify/lib/styles/main.sass',
-   '@mdi/font/css/materialdesignicons.min.css',
-   '@/assets/globals.css',
-   '@/assets/overrides.css',
- ],
-
- runtimeConfig: {
-   public: {
-     commit: '',
-     title: 'Database Repository',
-     logo: '/logo.svg',
-     icon: '/favicon.ico',
-     touch: '/apple-touch-icon.png',
-     version: 'bun-dev',
-     broker: {
-       host: 'localhost',
-       port: {
-         '5672': false
-       },
-       extra: ''
-     },
-     variant: {
-       input: {
-         normal: 'underlined',
-         contrast: 'outlined',
-       },
-       button: {
-         normal: 'flat',
-         contrast: 'outlined',
-       },
-       list: {
-         normal: '',
-         contrast: 'flat',
-       }
-     },
-     api: {
-       client: 'http://localhost',
-       server: 'http://gateway-service',
-     },
-     upload: {
-       client: 'http://localhost/api/upload/files'
-     },
-     database: {
-       unsupported: '*,AVG,BIT_AND,BIT_OR,BIT_XOR,COUNT,COUNTDISTINCT,GROUP_CONCAT,JSON_ARRAYAGG,JSON_OBJECTAGG,MAX,MIN,STD,STDDEV,STDDEV_POP,STDDEV_SAMP,SUM,VARIANCE,VAR_POP,VAR_SAMP,--',
-       image: {
-         width: 200,
-         height: 200
-       },
-       extra: ''
-     },
-     pid: {
-       default: {
-         publisher: 'Example University'
-       }
-     },
-     doi: {
-       enabled: false,
-       endpoint: 'https://doi.org'
-     },
-     links: {
-       rabbitmq: {
-         text: 'RabbitMQ Admin',
-         href: '/admin/broker/'
-       },
-       keycloak: {
-         text: 'Keycloak Admin',
-         href: '/api/auth/'
-       }
-     }
-   }
- },
-
- routeRules,
-
- devServer: {
-   port: 3001
- },
-
- modules: [
-   '@pinia/nuxt',
-   '@pinia-plugin-persistedstate/nuxt',
-   '@nuxtjs/i18n'
- ],
-
- pinia: {
-   storesDirs: ['./stores/**'],
- },
-
- piniaPersistedstate: {
-   storage: 'localStorage'
- },
-
- i18n: {
-   lazy: false,
-   langDir: 'locales',
-   strategy: 'no_prefix',
-   defaultLocale: 'de',
-   locales: [
-     {
-       'code': 'en',
-       'file': 'en-US.json',
-       'name': 'English (US)',
-       'iso': 'en-US'
-     },
-     {
-       'code': 'de',
-       'file': 'de-AT.json',
-       'name': 'German (AT)',
-       'iso': 'de-AT'
-     }
-   ]
-
- },
-
- vite: {
-   server: {
-     proxy
-   },
-   vue: {
-     template: {
-       transformAssetUrls,
-     },
-   },
- },
-
- devtools: { enabled: true },
- compatibilityDate: '2024-07-24'
+  app: {
+    head: {
+      charset: 'utf-8',
+      viewport: 'width=device-width, initial-scale=1',
+      meta: [
+        {'http-equiv': 'Content-Security-Policy', content: 'upgrade-insecure-requests'}
+      ],
+      htmlAttrs: {
+        lang: 'en-US'
+      }
+    }
+  },
+
+  openidConnect: {
+    addPlugin: true,
+    op: {
+      issuer: 'http://localhost/api/auth/realms/dbrepo',
+      clientId: 'dbrepo-client',
+      clientSecret: 'MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG',
+      scope: [
+        'openid',
+        'roles',
+        'attributes'
+      ]
+    },
+    config: {
+      debug: false,
+      response_type: 'code',
+      secret: 'oidc._sessionid',
+      isCookieUserInfo: false, // whether save userinfo into cookie.
+      cookie: { loginName: '' },
+      cookiePrefix: 'oidc._',
+      cookieEncrypt: true,
+      cookieEncryptKey: 'bfnuxt9c2470cb477d907b1e0917oidc',
+      cookieEncryptIV: 'ab83667c72eec9e4',
+      cookieEncryptALGO: 'aes-256-cbc',
+      cookieMaxAge: 24 * 60 * 60, //  default one day
+      hasCookieRefreshExpireDate: false, // Set this to true if your provider has an refresh_expires_in date for the refresh token
+      cookieRefreshDefaultMaxAge: 24 * 60 * 60, //  default one day if the hasCookieRefreshExpireDate is false
+      cookieFlags: {
+        access_token: {
+          httpOnly: true,
+          secure: false
+        }
+      }
+    }
+  },
+
+  build: {
+    transpile: ['vuetify'],
+  },
+
+  css: [
+    'vuetify/lib/styles/main.sass',
+    '@mdi/font/css/materialdesignicons.min.css',
+    '@/assets/globals.css',
+    '@/assets/overrides.css',
+  ],
+
+  runtimeConfig: {
+    openidConnect: {
+      op: {
+        issuer: '',
+        clientId: '',
+        clientSecret: '',
+      },
+      config: {
+        cookieFlags: {
+          access_token: {
+            httpOnly: true,
+            secure: false
+          }
+        }
+      }
+    },
+    public: {
+      commit: '',
+      title: 'Database Repository',
+      logo: '/logo.svg',
+      icon: '/favicon.ico',
+      touch: '/apple-touch-icon.png',
+      version: 'bun-dev',
+      broker: {
+        host: 'localhost',
+        port: {
+          '5672': false
+        },
+        extra: ''
+      },
+      variant: {
+        input: {
+          normal: 'underlined',
+          contrast: 'outlined',
+        },
+        button: {
+          normal: 'flat',
+          contrast: 'outlined',
+        },
+        list: {
+          normal: '',
+          contrast: 'flat',
+        }
+      },
+      api: {
+        client: 'http://localhost',
+        server: 'http://gateway-service',
+      },
+      upload: {
+        client: 'http://localhost/api/upload/files'
+      },
+      database: {
+        unsupported: '*,AVG,BIT_AND,BIT_OR,BIT_XOR,COUNT,COUNTDISTINCT,GROUP_CONCAT,JSON_ARRAYAGG,JSON_OBJECTAGG,MAX,MIN,STD,STDDEV,STDDEV_POP,STDDEV_SAMP,SUM,VARIANCE,VAR_POP,VAR_SAMP,--',
+        image: {
+          width: 200,
+          height: 200
+        },
+        extra: ''
+      },
+      pid: {
+        default: {
+          publisher: 'Example University'
+        }
+      },
+      doi: {
+        enabled: false,
+        endpoint: 'https://doi.org'
+      },
+      links: {
+        rabbitmq: {
+          text: 'RabbitMQ Admin',
+          href: '/admin/broker/'
+        },
+        keycloak: {
+          text: 'Keycloak Admin',
+          href: '/api/auth/'
+        }
+      }
+    }
+  },
+
+  routeRules,
+
+  devServer: {
+    port: 3001
+  },
+
+  modules: [
+    '@pinia/nuxt',
+    '@pinia-plugin-persistedstate/nuxt',
+    '@nuxtjs/i18n',
+    'nuxt-openid-connect'
+  ],
+
+  pinia: {
+    storesDirs: ['./stores/**'],
+  },
+
+  piniaPersistedstate: {
+    storage: 'localStorage'
+  },
+
+  i18n: {
+    lazy: false,
+    langDir: 'locales',
+    strategy: 'no_prefix',
+    defaultLocale: 'de',
+    locales: [
+      {
+        'code': 'en',
+        'file': 'en-US.json',
+        'name': 'English (US)',
+        'iso': 'en-US'
+      },
+      {
+        'code': 'de',
+        'file': 'de-AT.json',
+        'name': 'German (AT)',
+        'iso': 'de-AT'
+      }
+    ]
+
+  },
+
+  vite: {
+    server: {
+      proxy
+    },
+    vue: {
+      template: {
+        transformAssetUrls,
+      },
+    },
+  },
+
+  devtools: {enabled: true},
+  compatibilityDate: '2024-07-24'
 })
diff --git a/dbrepo-ui/package.json b/dbrepo-ui/package.json
index 2bbe6696bc..5dfce95973 100644
--- a/dbrepo-ui/package.json
+++ b/dbrepo-ui/package.json
@@ -25,6 +25,7 @@
     "merkle-json": "^2.6.0",
     "moment": "^2.30.1",
     "nuxt": "^3.10.3",
+    "nuxt-openid-connect": "^0.8.1",
     "parse-md": "^3.0.3",
     "pinia": "^2.1.7",
     "qs": "^6.11.2",
diff --git a/dbrepo-ui/pages/user/authentication.vue b/dbrepo-ui/pages/user/authentication.vue
index 4cb3e11a02..3c346a8bce 100644
--- a/dbrepo-ui/pages/user/authentication.vue
+++ b/dbrepo-ui/pages/user/authentication.vue
@@ -60,6 +60,11 @@
   </div>
 </template>
 
+<script setup>
+definePageMeta({
+  middleware: ['auth']
+})
+</script>
 <script>
 import UserToolbar from '@/components/user/UserToolbar.vue'
 import { useUserStore } from '@/stores/user'
@@ -112,7 +117,7 @@ export default {
     changePassword () {
       this.loadingUpdate = true
       const userService = useUserService()
-      userService.updatePassword(this.user.id, {'password': this.password})
+      userService.updatePassword(this.user.sub, {'password': this.password})
         .then(() => {
           const toast = useToastInstance()
           toast.success(this.$t('success.user.password'))
diff --git a/dbrepo-ui/pages/user/developer.vue b/dbrepo-ui/pages/user/developer.vue
deleted file mode 100644
index 9b6f80a591..0000000000
--- a/dbrepo-ui/pages/user/developer.vue
+++ /dev/null
@@ -1,230 +0,0 @@
-<template>
-  <div>
-    <UserToolbar />
-    <v-window
-      v-model="tab">
-      <v-window-item>
-        <v-card
-          v-if="canHandleMessages"
-          :title="$t('pages.settings.subpages.developer.maintenance.title')"
-          rounded="0"
-          variant="flat">
-          <v-data-table
-            :headers="headers"
-            :items="messages"
-            :loading="loadingMessages"
-            :items-per-page="10">
-            <template v-slot:item.action="{ item }">
-              <v-btn
-                size="x-small"
-                variant="flat"
-                :text="$t('pages.settings.subpages.developer.maintenance.modify.text')"
-                @click="modifyMessage(item)" />
-            </template>
-          </v-data-table>
-          <v-card-text>
-            <v-btn
-              size="small"
-              variant="flat"
-              :text="$t('pages.settings.subpages.developer.maintenance.add.text')"
-              :disabled="!canCreateMessage"
-              @click="createMessage" />
-          </v-card-text>
-        </v-card>
-        <v-divider
-          v-if="canHandleMessages" />
-        <v-card
-          :title="$t('pages.settings.subpages.developer.token.title')"
-          :subtitle="$t('pages.settings.subpages.developer.token.subtitle')"
-          variant="flat"
-          rounded="0">
-          <v-card-text>
-            <v-row dense>
-              <v-col xl="4">
-                <v-text-field
-                  v-model="accessTokenField"
-                  disabled
-                  :variant="inputVariant"
-                  :label="$t('pages.settings.subpages.developer.token.access.label')" />
-              </v-col>
-              <v-col xl="2">
-                <v-text-field
-                  v-model="tokenExpiry"
-                  disabled
-                  :variant="inputVariant"
-                  :label="expiryLabel(token)" />
-              </v-col>
-            </v-row>
-            <v-row dense>
-              <v-col xl="4">
-                <v-text-field
-                  v-model="refreshTokenField"
-                  disabled
-                  :variant="inputVariant"
-                  :label="$t('pages.settings.subpages.developer.token.refresh.label')" />
-              </v-col>
-              <v-col xl="2">
-                <v-text-field
-                  v-model="refreshTokenExpiry"
-                  disabled
-                  :variant="inputVariant"
-                  :label="expiryLabel(refreshToken)" />
-              </v-col>
-            </v-row>
-          </v-card-text>
-        </v-card>
-      </v-window-item>
-    </v-window>
-    <v-breadcrumbs :items="items" class="pa-0 mt-2" />
-    <v-dialog
-      v-model="dialog"
-      persistent
-      max-width="640">
-      <EditMaintenanceMessage
-        :id="messageId"
-        @close-dialog="closeDialog" />
-    </v-dialog>
-  </div>
-</template>
-
-<script>
-import UserToolbar from '@/components/user/UserToolbar.vue'
-import EditMaintenanceMessage from '@/components/dialogs/EditMaintenanceMessage.vue'
-import { formatTimestampUTCLabel, isActiveMessage, timestampsToHumanDifference } from '@/utils'
-import { useUserStore } from '@/stores/user'
-import { useCacheStore } from '@/stores/cache'
-
-export default {
-  components: {
-    UserToolbar,
-    EditMaintenanceMessage
-  },
-  data () {
-    return {
-      tab: 0,
-      accessTokenField: null,
-      refreshTokenField: null,
-      headers: [
-        { title: this.$t('pages.settings.subpages.developer.maintenance.active'), value: 'active' },
-        { title: this.$t('pages.settings.subpages.developer.maintenance.type'), value: 'type' },
-        { title: this.$t('pages.settings.subpages.developer.maintenance.message'), value: 'message' },
-        { title: this.$t('pages.settings.subpages.developer.maintenance.action'), value: 'action' }
-      ],
-      items: [
-        {
-          title: this.$t('navigation.user'),
-          to: '/user'
-        },
-        {
-          title: this.$t('toolbars.user.developer'),
-          to: `/user/developer`,
-          disabled: true
-        }
-      ],
-      messages: [],
-      loadingMessages: false,
-      dialog: false,
-      messageId: null,
-      userStore: useUserStore(),
-      cacheStore: useCacheStore()
-    }
-  },
-  computed: {
-    token () {
-      return this.userStore.getToken
-    },
-    tokenExpiry () {
-      if (!this.token) {
-        return null
-      }
-      const authenticationService = useAuthenticationService()
-      return formatTimestampUTCLabel(authenticationService.tokenToExpiryDate(this.token))
-    },
-    refreshToken () {
-      return this.userStore.getRefreshToken
-    },
-    refreshTokenExpiry () {
-      if (!this.refreshToken) {
-        return null
-      }
-      const authenticationService = useAuthenticationService()
-      return formatTimestampUTCLabel(authenticationService.tokenToExpiryDate(this.refreshToken))
-    },
-    user () {
-      return this.userStore.getUser
-    },
-    roles () {
-      return this.userStore.getRoles
-    },
-    canCreateMessage () {
-      if (!this.roles) {
-        return false
-      }
-      return this.roles.includes('create-maintenance-message')
-    },
-    canModifyMessage () {
-      if (!this.roles) {
-        return false
-      }
-      return this.roles.includes('modify-maintenance-message')
-    },
-    canHandleMessages () {
-      return this.canCreateMessage || this.canModifyMessage
-    },
-    inputVariant () {
-      const runtimeConfig = useRuntimeConfig()
-      return this.$vuetify.theme.global.name.toLowerCase().endsWith('contrast') ? runtimeConfig.public.variant.input.contrast : runtimeConfig.public.variant.input.normal
-    },
-    buttonVariant () {
-      const runtimeConfig = useRuntimeConfig()
-      return this.$vuetify.theme.global.name.toLowerCase().endsWith('contrast') ? runtimeConfig.public.variant.button.contrast : runtimeConfig.public.variant.button.normal
-    }
-  },
-  mounted () {
-    this.loadMessages()
-    if (!this.token || !this.refreshToken) {
-      return
-    }
-    this.accessTokenField = this.token
-    this.refreshTokenField = this.refreshToken
-  },
-  methods: {
-    submit () {
-    },
-    modifyMessage (message) {
-      this.messageId = message.id
-      this.dialog = true
-    },
-    createMessage () {
-      this.messageId = null
-      this.dialog = true
-    },
-    expiryLabel (token) {
-      const authenticationService = useAuthenticationService()
-      return this.$t('pages.settings.subpages.developer.token.expiry') + ' ' + timestampsToHumanDifference(Date.now(), authenticationService.tokenToExpiryDate(token))
-    },
-    loadMessages () {
-      const messageService = useMessageService()
-      messageService.findAll()
-        .then((messages) => {
-          this.messages = messages.map((message) => {
-            message.active = isActiveMessage(message) ? '● true' : 'false'
-            return message
-          })
-        })
-        .catch(() => {
-          this.loadingMessages = false
-        })
-        .finally(() => {
-          this.loadingMessages = false
-        })
-    },
-    closeDialog (event) {
-      if (event.success) {
-        this.cacheStore.reloadMessages()
-      }
-      this.dialog = false
-    }
-  }
-}
-</script>
diff --git a/dbrepo-ui/pages/user/index.vue b/dbrepo-ui/pages/user/index.vue
index e729d9086f..d6691d8302 100644
--- a/dbrepo-ui/pages/user/index.vue
+++ b/dbrepo-ui/pages/user/index.vue
@@ -2,27 +2,14 @@
   <div />
 </template>
 
+<script setup>
+definePageMeta({
+  middleware: ['auth']
+})
+</script>
 <script>
-import { useUserStore } from '@/stores/user'
-
 export default {
-  data () {
-    return {
-      userStore: useUserStore()
-    }
-  },
-  computed: {
-    token () {
-      return this.userStore.getToken
-    },
-    user () {
-      return this.userStore.getUser
-    }
-  },
   mounted () {
-    if (!this.user) {
-      return
-    }
     this.$router.push('/user/info')
   }
 }
diff --git a/dbrepo-ui/pages/user/info.vue b/dbrepo-ui/pages/user/info.vue
index 3501818ca0..cb0e3fd922 100644
--- a/dbrepo-ui/pages/user/info.vue
+++ b/dbrepo-ui/pages/user/info.vue
@@ -13,18 +13,17 @@
               <v-row dense>
                 <v-col md="6">
                   <v-text-field
-                    v-model="model.id"
+                    v-model="user.sub"
                     readonly
+                    disabled
                     :variant="inputVariant"
-                    :label="$t('pages.user.subpages.info.id.label')"
-                    append-inner-icon="mdi-content-copy"
-                    @click:append-inner="copy" />
+                    :label="$t('pages.user.subpages.info.id.label')" />
                 </v-col>
               </v-row>
               <v-row dense>
                 <v-col md="6">
                   <v-text-field
-                    v-model="model.username"
+                    v-model="user.preferred_username"
                     disabled
                     :variant="inputVariant"
                     :label="$t('pages.user.subpages.info.username.label')"  />
@@ -124,6 +123,12 @@
   </div>
 </template>
 
+<script setup>
+definePageMeta({
+  middleware: ['auth']
+})
+const { $oidc } = useNuxtApp()
+</script>
 <script>
 import UserToolbar from '@/components/user/UserToolbar.vue'
 import { useUserStore } from '@/stores/user'
@@ -143,7 +148,6 @@ export default {
       theme: null,
       orcidLoading: false,
       model: {
-        id: null,
         username: null,
         firstname: null,
         lastname: null,
@@ -176,10 +180,13 @@ export default {
   },
   computed: {
     user () {
-      return this.userStore.getUser
+      return this.$oidc.user
     },
     roles () {
-      return this.userStore.getRoles
+      if (!this.user || !this.user.realm_access) {
+        return []
+      }
+      return this.user.realm_access.roles
     },
     locale () {
       return this.userStore.getLocale
@@ -216,14 +223,12 @@ export default {
         language: this.model.language,
       }
       const userService = useUserService()
-      userService.update(this.user.id, payload)
+      userService.update(this.user.sub, payload)
         .then((user) => {
           console.info('Updated user information')
           const toast = useToastInstance()
           toast.success(this.$t('success.user.info'))
-          this.userStore.setUser(user)
           /* language */
-          this.userStore.setLocale(this.model.language)
           this.$i18n.locale = this.locale
           /* theme */
           switch (this.model.theme) {
@@ -253,14 +258,12 @@ export default {
         return
       }
       this.model = {
-        id: this.user.id,
-        username: this.user.username,
         firstname: this.user.given_name,
         lastname: this.user.family_name,
-        orcid: this.user.attributes.orcid,
-        affiliation: this.user.attributes.affiliation,
-        theme: this.user.attributes.theme,
-        language: this.user.attributes.language
+        orcid: this.user.attributes?.orcid,
+        affiliation: this.user.attributes?.affiliation,
+        theme: this.user.attributes?.theme,
+        language: this.user.attributes?.language
       }
     },
     retrieve () {
@@ -284,11 +287,6 @@ export default {
         .finally(() => {
           this.orcidLoading = false
         })
-    },
-    copy () {
-      navigator.clipboard.writeText(this.model.id)
-      const toast = useToastInstance()
-      toast.success(this.$t('success.clipboard.user'))
     }
   }
 }
diff --git a/dbrepo-ui/stores/user.js b/dbrepo-ui/stores/user.js
index 522ce02a06..e857a0681e 100644
--- a/dbrepo-ui/stores/user.js
+++ b/dbrepo-ui/stores/user.js
@@ -4,50 +4,22 @@ export const useUserStore = defineStore('user', {
   persist: true,
   state: () => {
     return {
-      /** @type String */
-      token: null,
-      /** @type String */
-      refreshToken: null,
-      roles: [],
-      user: null,
       access: null,
-      locale: null
+      /** @type String */
+      token: null
     }
   },
   getters: {
     getToken: (state) => state.token,
-    getRefreshToken: (state) => state.refreshToken,
-    getRoles: (state) => state.roles,
-    getUser: (state) => state.user,
     getAccess: (state) => state.access,
-    getLocale: (state) => state.locale
   },
   actions: {
     setToken(token) {
       this.token = token
     },
-    setRefreshToken(refreshToken) {
-      this.refreshToken = refreshToken
-    },
-    setRoles(roles) {
-      this.roles = roles
-    },
-    setUser(user) {
-      this.user = user
-    },
     setAccess(access) {
       this.access = access
     },
-    setLocale (locale) {
-      this.locale = locale
-    },
-    logout() {
-      this.token = null
-      this.refreshToken = null
-      this.roles = []
-      this.user = null
-      this.access = null
-    },
     setRouteAccess(databaseId) {
       if (!databaseId || !this.user || !this.user.id) {
         return
-- 
GitLab