Skip to content

Commit f7abe3d

Browse files
committed
fix : auth 관련 빌드 오류 해결
1 parent 8f521df commit f7abe3d

File tree

2 files changed

+62
-45
lines changed

2 files changed

+62
-45
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
'use client'
2+
3+
import { useEffect, useState } from 'react'
4+
import { useRouter, useSearchParams } from 'next/navigation'
5+
import { useMemberSession } from '../../components/member-session-context'
6+
import { Button } from '@/components/ui/button'
7+
import { setAccessToken, setRefreshToken } from '@/utils/session/token-storage'
8+
9+
export default function AuthRedirectPageInner() {
10+
const router = useRouter()
11+
const searchParams = useSearchParams()
12+
const { login } = useMemberSession()
13+
const [error, setError] = useState<string | null>(null)
14+
15+
useEffect(() => {
16+
const accessToken = searchParams.get('at')
17+
const refreshToken = searchParams.get('rt')
18+
if (!accessToken || !refreshToken) {
19+
console.error('인증 토큰이 누락되었습니다.')
20+
setError('인증 토큰이 누락되었습니다.')
21+
return
22+
}
23+
setAccessToken(accessToken)
24+
setRefreshToken(refreshToken)
25+
if (accessToken && refreshToken) {
26+
login(6)
27+
router.replace('/workspace')
28+
}
29+
return
30+
// 실제 서비스라면 at를 디코드하거나 백엔드에서 memberId를 받아야 함
31+
setError('유효하지 않은 토큰입니다.')
32+
}, [searchParams, router, login])
33+
34+
if (error) {
35+
return (
36+
<div className='min-h-screen flex items-center justify-center'>
37+
<div className='bg-white p-8 rounded shadow text-center'>
38+
<p className='text-red-500 font-bold mb-2'>로그인 실패</p>
39+
<p className='text-gray-600'>에러 내용 : {error}</p>
40+
41+
<Button onClick={() => router.replace('/login')}>로그인 페이지로 이동</Button>
42+
</div>
43+
</div>
44+
)
45+
}
46+
47+
return (
48+
<div className='min-h-screen flex items-center justify-center'>
49+
<div className='bg-white p-8 rounded shadow text-center'>
50+
<p className='text-gray-700'>로그인 처리 중입니다...</p>
51+
</div>
52+
</div>
53+
)
54+
}

app/auth/page.tsx

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,18 @@
11
'use client'
22

3-
import { useEffect, useState } from 'react'
4-
import { useRouter, useSearchParams } from 'next/navigation'
5-
import { useMemberSession } from '../../components/member-session-context'
6-
import { Button } from '@/components/ui/button'
7-
import { setAccessToken, setRefreshToken } from '@/utils/session/token-storage'
3+
import { Suspense } from 'react'
4+
import AuthRedirectPageInner from './auth-redirect-page-inner'
85

96
export default function AuthRedirectPage() {
10-
11-
const router = useRouter()
12-
const searchParams = useSearchParams()
13-
const { login } = useMemberSession()
14-
const [error, setError] = useState<string | null>(null)
15-
16-
useEffect(() => {
17-
const accessToken = searchParams.get('at')
18-
const refreshToken = searchParams.get('rt')
19-
if (!accessToken || !refreshToken) {
20-
console.error('인증 토큰이 누락되었습니다.')
21-
setError('인증 토큰이 누락되었습니다.')
22-
return
23-
}
24-
setAccessToken(accessToken)
25-
setRefreshToken(refreshToken)
26-
if (accessToken && refreshToken) {
27-
login(6)
28-
router.replace('/workspace')
29-
}
30-
return
31-
// 실제 서비스라면 at를 디코드하거나 백엔드에서 memberId를 받아야 함
32-
setError('유효하지 않은 토큰입니다.')
33-
}, [searchParams, router, login])
34-
35-
if (error) {
36-
return (
7+
return (
8+
<Suspense fallback={
379
<div className='min-h-screen flex items-center justify-center'>
3810
<div className='bg-white p-8 rounded shadow text-center'>
39-
<p className='text-red-500 font-bold mb-2'>로그인 실패</p>
40-
<p className='text-gray-600'>에러 내용 : {error}</p>
41-
42-
<Button onClick={() => router.replace('/login')}>로그인 페이지로 이동</Button>
11+
<p className='text-gray-700'>로그인 처리 중입니다...</p>
4312
</div>
4413
</div>
45-
)
46-
}
47-
48-
return (
49-
<div className='min-h-screen flex items-center justify-center'>
50-
<div className='bg-white p-8 rounded shadow text-center'>
51-
<p className='text-gray-700'>로그인 처리 중입니다...</p>
52-
</div>
53-
</div>
14+
}>
15+
<AuthRedirectPageInner />
16+
</Suspense>
5417
)
5518
}

0 commit comments

Comments
 (0)