diff --git a/web/app/(commonLayout)/layout.tsx b/web/app/(commonLayout)/layout.tsx
index 01d2086b1a..af36d4d961 100644
--- a/web/app/(commonLayout)/layout.tsx
+++ b/web/app/(commonLayout)/layout.tsx
@@ -8,12 +8,10 @@ import Header from '@/app/components/header'
import { EventEmitterContextProvider } from '@/context/event-emitter'
import { ProviderContextProvider } from '@/context/provider-context'
import { ModalContextProvider } from '@/context/modal-context'
-import MessageListener from '../components/base/message-listener'
const Layout = ({ children }: { children: ReactNode }) => {
return (
<>
-
diff --git a/web/app/components/base/message-listener.tsx b/web/app/components/base/message-listener.tsx
deleted file mode 100644
index eb152dd869..0000000000
--- a/web/app/components/base/message-listener.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-'use client'
-import { useRouter } from 'next/navigation'
-import { useEffect } from 'react'
-const MessageListener = () => {
- const router = useRouter()
- useEffect(() => {
- localStorage.removeItem('disable_log_out')
- const handleMessage = (event: MessageEvent) => {
- if (event.data.action === 'auto-login') {
- event.source.postMessage('got', event.origin)
- localStorage.setItem('console_token', event.data.data.token)
- localStorage.setItem('refresh_token', event.data.data.refreshToken)
- sessionStorage.setItem('disable_log_out', true)
- window.location.reload()
- router.replace(event.data.src)
- }
- else if(event.data.action === 'clear-token') {
- event.source.postMessage('got', event.origin)
- localStorage.removeItem('console_token')
- localStorage.removeItem('refresh_token')
- }
- }
-
- window.addEventListener('message', handleMessage)
-
- return () => {
- window.removeEventListener('message', handleMessage)
- }
- }, [])
-
- return null
-}
-
-export default MessageListener
diff --git a/web/service/base.ts b/web/service/base.ts
index 29aa23e730..13be1880ce 100644
--- a/web/service/base.ts
+++ b/web/service/base.ts
@@ -417,7 +417,7 @@ export const request = async(url: string, options = {}, otherOptions?: IOther
const errResp: Response = err as any
if (errResp.status === 401) {
const [parseErr, errRespData] = await asyncRunSafe(errResp.json())
- const loginUrl = `${globalThis.location.origin}/signin`
+ const loginUrl = `${globalThis.location.origin}/dify/signin`
if (parseErr) {
globalThis.location.href = loginUrl
return Promise.reject(err)
diff --git a/web/service/refresh-token.ts b/web/service/refresh-token.ts
index f42b10cc8e..3e87bef07b 100644
--- a/web/service/refresh-token.ts
+++ b/web/service/refresh-token.ts
@@ -24,7 +24,7 @@ function waitUntilTokenRefreshed() {
const isRefreshingSignAvailable = function (delta: number) {
const nowTime = new Date().getTime()
const lastTime = globalThis.localStorage.getItem('last_refresh_time') || '0'
- return nowTime - parseInt(lastTime) <= delta
+ return nowTime - Number.parseInt(lastTime) <= delta
}
// only one request can send
@@ -63,6 +63,7 @@ async function getNewAccessToken(timeout: number): Promise {
const { data } = await ret.json()
globalThis.localStorage.setItem('console_token', data.access_token)
globalThis.localStorage.setItem('refresh_token', data.refresh_token)
+ globalThis.window.parent.postMessage({ type: 'refresh_token', data }, window.location.origin)
}
}
}