인프런 커뮤니티 질문&답변
middleware 관련 질문입니다
작성
·
115
0
해당 코드를 수정했던 강의가 어디였는지 기억이 안나 여기에 글 남깁니다.
아래는 auth.ts의 코드이고 callbacks 부분을 작성하셨다가 나중에 없애는 걸로 수정하셨는데 이 코드의 역할을 middleware에서 대신한다고 생각하면 될까요 ?
export async function middleware() {
const session = await auth();
if (!session) {
return NextResponse.redirect('http://localhost:3000/i/flow/login');
}
}
// callbacks: {
// async authorized({ request, auth }) {
// if (!auth) {
// return NextResponse.redirect('http://localhost:3000/i/flow/login');
// }
// return true;
// },
// },답변 2
0
심현석
질문자
궁금한게 하나 더 있습니다
아래 로직은 로그인 모달의 onSubmit 함수인데 원래라면 result.code === "no_user" 인 경우와 result.code === "wrong_password" 인 경우에도 아래 router.replcae("/home") 이 작동되야 하는거 아닌가요 ? 이 경우 result객체 내부에 error에 값이 있어서 replace 함수가 작동하지 않는건가요 ?
const onSubmit: FormEventHandler<HTMLFormElement> = async (e) => {
e.preventDefault();
setMessage('');
try {
const result = await signIn('credentials', {
username: id,
password,
redirect: false,
});
console.log(result);
if (result?.code === 'no_user') {
setMessage('가입하지 않은 유저입니다.');
} else if (result?.code === 'wrong_password') {
setMessage('비밀번호가 틀렸습니다.');
}
router.replace('/home');
} catch (err) {
console.error(err);
}
};0






음 else 문으로 감싸주는 게 맞는 것 같습니다. 감사합니다.