@@ -4,7 +4,6 @@ import { SWRConfig } from 'swr'
4
4
import { useCallback , useEffect , useState } from 'react'
5
5
import type { ReactNode } from 'react'
6
6
import { usePathname , useRouter , useSearchParams } from 'next/navigation'
7
- import useRefreshToken from '@/hooks/use-refresh-token'
8
7
import { fetchSetupStatus } from '@/service/common'
9
8
10
9
interface SwrInitorProps {
@@ -15,12 +14,11 @@ const SwrInitor = ({
15
14
} : SwrInitorProps ) => {
16
15
const router = useRouter ( )
17
16
const searchParams = useSearchParams ( )
18
- const pathname = usePathname ( )
19
- const { getNewAccessToken } = useRefreshToken ( )
20
- const consoleToken = searchParams . get ( 'access_token' )
21
- const refreshToken = searchParams . get ( 'refresh_token' )
17
+ const consoleToken = decodeURIComponent ( searchParams . get ( 'access_token' ) || '' )
18
+ const refreshToken = decodeURIComponent ( searchParams . get ( 'refresh_token' ) || '' )
22
19
const consoleTokenFromLocalStorage = localStorage ?. getItem ( 'console_token' )
23
20
const refreshTokenFromLocalStorage = localStorage ?. getItem ( 'refresh_token' )
21
+ const pathname = usePathname ( )
24
22
const [ init , setInit ] = useState ( false )
25
23
26
24
const isSetupFinished = useCallback ( async ( ) => {
@@ -41,25 +39,6 @@ const SwrInitor = ({
41
39
}
42
40
} , [ ] )
43
41
44
- const setRefreshToken = useCallback ( async ( ) => {
45
- try {
46
- if ( ! ( consoleToken || refreshToken || consoleTokenFromLocalStorage || refreshTokenFromLocalStorage ) )
47
- return Promise . reject ( new Error ( 'No token found' ) )
48
-
49
- if ( consoleTokenFromLocalStorage && refreshTokenFromLocalStorage )
50
- await getNewAccessToken ( )
51
-
52
- if ( consoleToken && refreshToken ) {
53
- localStorage . setItem ( 'console_token' , consoleToken )
54
- localStorage . setItem ( 'refresh_token' , refreshToken )
55
- await getNewAccessToken ( )
56
- }
57
- }
58
- catch ( error ) {
59
- return Promise . reject ( error )
60
- }
61
- } , [ consoleToken , refreshToken , consoleTokenFromLocalStorage , refreshTokenFromLocalStorage , getNewAccessToken ] )
62
-
63
42
useEffect ( ( ) => {
64
43
( async ( ) => {
65
44
try {
@@ -68,17 +47,23 @@ const SwrInitor = ({
68
47
router . replace ( '/install' )
69
48
return
70
49
}
71
- await setRefreshToken ( )
72
- if ( searchParams . has ( 'access_token' ) || searchParams . has ( 'refresh_token' ) )
50
+ if ( ! ( ( consoleToken && refreshToken ) || ( consoleTokenFromLocalStorage && refreshTokenFromLocalStorage ) ) ) {
51
+ router . replace ( '/signin' )
52
+ return
53
+ }
54
+ if ( searchParams . has ( 'access_token' ) || searchParams . has ( 'refresh_token' ) ) {
55
+ consoleToken && localStorage . setItem ( 'console_token' , consoleToken )
56
+ refreshToken && localStorage . setItem ( 'refresh_token' , refreshToken )
73
57
router . replace ( pathname )
58
+ }
74
59
75
60
setInit ( true )
76
61
}
77
62
catch ( error ) {
78
63
router . replace ( '/signin' )
79
64
}
80
65
} ) ( )
81
- } , [ isSetupFinished , setRefreshToken , router , pathname , searchParams ] )
66
+ } , [ isSetupFinished , router , pathname , searchParams , consoleToken , refreshToken , consoleTokenFromLocalStorage , refreshTokenFromLocalStorage ] )
82
67
83
68
return init
84
69
? (
0 commit comments