From d7a1cf96ea5850fe26b8b82f4c15a740e00b29c9 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Wed, 25 Jun 2025 22:00:37 -0300 Subject: [PATCH] fix: use refresh token URL from options instead of hardcoded --- src/adminjs-options.interface.ts | 4 ++++ src/frontend/store/initialize-store.ts | 18 ++++++++++++++++-- src/frontend/utils/api-client.ts | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/adminjs-options.interface.ts b/src/adminjs-options.interface.ts index dd8ec45e4..dd76f53f3 100644 --- a/src/adminjs-options.interface.ts +++ b/src/adminjs-options.interface.ts @@ -66,6 +66,10 @@ export interface AdminJSOptions { * url to a login page, default to `/admin/login` */ loginPath?: string; + /** + * url to refresh the token, default to `/admin/refresh-token` + */ + refreshTokenPath?: string; /** * Array of all Databases which are supported by AdminJS via adapters */ diff --git a/src/frontend/store/initialize-store.ts b/src/frontend/store/initialize-store.ts index 959c90bc1..b723724dc 100644 --- a/src/frontend/store/initialize-store.ts +++ b/src/frontend/store/initialize-store.ts @@ -57,10 +57,24 @@ export const initializeStore = async ( store.dispatch(initializeAssets(assets || {})) if (theme) store.dispatch(initializeTheme(theme)) - const { loginPath, logoutPath, rootPath, dashboard, pages, assetsCDN } = admin.options + const { + loginPath, + logoutPath, + refreshTokenPath, + rootPath, + dashboard, + pages, + assetsCDN + } = admin.options store.dispatch(initializePages(pagesToStore(pages))) - store.dispatch(initializePaths({ loginPath, logoutPath, rootPath, assetsCDN })) + store.dispatch(initializePaths({ + loginPath, + logoutPath, + refreshTokenPath, + rootPath, + assetsCDN + })) store.dispatch(setCurrentAdmin(currentAdmin)) store.dispatch(initializeDashboard(dashboard)) store.dispatch( diff --git a/src/frontend/utils/api-client.ts b/src/frontend/utils/api-client.ts index 2abf47f28..14c134877 100644 --- a/src/frontend/utils/api-client.ts +++ b/src/frontend/utils/api-client.ts @@ -257,7 +257,7 @@ class ApiClient { async refreshToken(data: Record) { const response = await this.client.request({ - url: '/refresh-token', + url: globalAny.REDUX_STATE.paths.refreshTokenPath, method: 'POST', data, })