auth.js
868 Bytes
import React, {useEffect} from 'react';
import Axios from 'axios';
import { useNavigate } from 'react-router-dom';
export default function (SpecificComponent) {
// option
// null -> 아무나 출입, true -> 로그인한 유저만 출입, false -> 로그인한 유저는 출입 불가능
function AuthenticationCheck() {
let navigate = useNavigate();
useEffect(() => {
Axios.get('/api/auth')
.then((res)=>{
if(res.status === 200){
navigate('/main')
}
}).catch((error) => {
console.log(error.response);
alert('로그인이 필요합니다!');
navigate('/login');
})
}, [])
return (
<SpecificComponent/>
)
}
return <AuthenticationCheck />
}