Cộng đồng Hỏi & Đáp của Inflearn
middleware 관련 질문입니다
Viết
·
131
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;
// },
// },reactnext.jsreact-querynext-authmsw
Quiz
66% người trả lời sai. Hãy thử ngay!
백엔드 로그인 기능을 위해 Redis 또는 Memurai를 설치하는 주된 이유가 무엇일까요?
데이터베이스의 영구적인 데이터 저장
애플리케이션 의존성 설치 관리
백엔드 서버 코드 압축 해제
빠른 세션 관리 및 캐싱 기능 제공
Câu trả lời 2
0
simhs7831
Người đặt câu hỏi
궁금한게 하나 더 있습니다
아래 로직은 로그인 모달의 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 문으로 감싸주는 게 맞는 것 같습니다. 감사합니다.