fix: refresh current page if url contains token (#9718)

This commit is contained in:
NFish 2024-10-23 17:48:57 +08:00 committed by GitHub
parent bf478aeba2
commit 5d05574518
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3,7 +3,7 @@
import { SWRConfig } from 'swr'
import { useCallback, useEffect, useState } from 'react'
import type { ReactNode } from 'react'
import { useRouter, useSearchParams } from 'next/navigation'
import { usePathname, useRouter, useSearchParams } from 'next/navigation'
import useRefreshToken from '@/hooks/use-refresh-token'
import { fetchSetupStatus } from '@/service/common'
@ -15,6 +15,7 @@ const SwrInitor = ({
}: SwrInitorProps) => {
const router = useRouter()
const searchParams = useSearchParams()
const pathname = usePathname()
const { getNewAccessToken } = useRefreshToken()
const consoleToken = searchParams.get('access_token')
const refreshToken = searchParams.get('refresh_token')
@ -68,13 +69,16 @@ const SwrInitor = ({
return
}
await setRefreshToken()
if (searchParams.has('access_token') || searchParams.has('refresh_token'))
router.replace(pathname)
setInit(true)
}
catch (error) {
router.replace('/signin')
}
})()
}, [isSetupFinished, setRefreshToken, router])
}, [isSetupFinished, setRefreshToken, router, pathname, searchParams])
return init
? (