강의

멘토링

로드맵

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của simhs7831
simhs7831

câu hỏi đã được viết

Tiếp theo + Tạo dịch vụ SNS bằng React Query

Đăng xuất, đăng nhập thực tế

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님의 프로필 이미지
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);
        }
    };
zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

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

0

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

이번에 next15로 업뎃하면서 저 부분을 제거했습니다. 이제 미들웨어에서 처리하는 것으로 충분합니다.

Hình ảnh hồ sơ của simhs7831
simhs7831

câu hỏi đã được viết

Đặt câu hỏi