diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts
index 8f1f781e6d860c63b9cc392e1adab9b9590ec8aa..9a3931a131919127858477f0ab5109cb54c23098 100644
--- a/pages/api/auth/[...nextauth].ts
+++ b/pages/api/auth/[...nextauth].ts
@@ -28,7 +28,7 @@ async function refreshAccessToken (token: any) {
     if (!response.ok) {
       throw refreshedTokens
     }
-    console.log('### refreshToken', refreshedTokens, '### ### ###')
+    console.log('### refreshToken', new Date().toISOString(), refreshedTokens, '### ### ###')
 
     return {
       ...token,
diff --git a/src/components/fdos/create.tsx b/src/components/fdos/create.tsx
index 83d93b79b0e3f48efa5497385d201443c5b58686..5762661ab98fd9d26f00a7fb60f0654b96f1df21 100644
--- a/src/components/fdos/create.tsx
+++ b/src/components/fdos/create.tsx
@@ -27,6 +27,7 @@ import { Controller } from 'react-hook-form'
 
 import { IRepository, IProfile } from '../../interfaces'
 import { RepositoriesList } from '../repositories'
+import { useAccessToken } from '../../utils'
 
 const stepTitles = ['Profile & Repository', 'Metadata', 'Data']
 
@@ -140,11 +141,9 @@ const StepData: React.FC<any> = ({ register, errors }) => {
 }
 
 export const FdoCreate: React.FC<IResourceComponentsProps> = () => {
-  const identity = useGetIdentity<any>()
-  console.log('identity', identity)
-  const accessToken = identity.data?.data?.accessToken
-
+  const accessToken = useAccessToken()
   console.log('accessToken: ', accessToken)
+
   const formRet = useStepsForm<any, HttpError, any>({ defaultValues: { repository: '', profile: '' }, refineCoreProps: { meta: { headers: { Authentication: `Bearer ${accessToken}` } } } })
   const {
     saveButtonProps,
diff --git a/src/utils.tsx b/src/utils.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..4f469344a73e580c1683bd3c0724e44c5f32bd80
--- /dev/null
+++ b/src/utils.tsx
@@ -0,0 +1,35 @@
+import { useLogout, useGetIdentity, useNotification } from '@refinedev/core'
+
+const doLogout = (logout: Function, notify: Function) => {
+  logout()
+  notify?.({
+    type: 'error',
+    message: 'Logout',
+    description: 'You have been logged out.'
+  })
+}
+
+export const useAccessToken: any = () => {
+  const identity = useGetIdentity<any>()
+  const { mutate: logout } = useLogout()
+  const { open } = useNotification()
+
+  console.log('useAccessToken', identity)
+  const data = identity?.data?.data
+
+  if (data?.access_token == null) {
+    return null
+  }
+
+  if (data?.error) {
+    doLogout(logout, open)
+    return null
+  }
+
+  if (data?.accessTokenExpires) {
+    doLogout(logout, open)
+    return null
+  }
+
+  return data?.accessToken
+}