redirect 옵션

  • redirect: true: 인증이 성공하면 자동으로 지정된 URL로 리다이렉트합니다. 이 경우 **callbackUrl**을 지정해야 합니다. 인증이 성공하면 사용자가 callbackUrl로 이동합니다.
  • redirect: false: 인증이 성공해도 자동으로 리다이렉트하지 않습니다. 대신, 응답 객체를 통해 인증 결과를 처리할 수 있습니다. 이 경우 callbackUrl을 지정할 필요가 없습니다.

callbackUrl 옵션

  • callbackUrl: redirect: true일 때 사용됩니다. 인증이 성공하면 사용자가 이동할 URL을 지정합니다. 예를 들어, /dashboard로 설정하면 인증 성공 시 사용자가 대시보드 페이지로 이동합니다.
const response = await signIn('AuthCheck', {
    id,
    password,
    redirect: true,
    callbackUrl: '/dashboard',
});
// 인증 성공 시 자동으로 '/dashboard'로 리다이렉트
// 중요한건 뒤에 뭐가 있든 실행을 안한다!!!!
const response = await signIn('AuthCheck', {
    id,
    password,
    redirect: false,
});

if (response.ok) {
    alert('로그인 성공');
    router.push('/dashboard'); // 수동으로 '/dashboard'로 이동
} else {
    alert('로그인 실패');
    console.error(response.error);
}

redirect: false를 사용하면 인증 성공 후 원하는 로직을 추가로 실행할 수 있습니다. 예를 들어, 성공 메시지를 표시한 후 특정 페이지로 이동하는 등의 작업을 할 수 있습니다.

 

결론

redirect: true를 하면 callbackUrl로 이동하고 뒤에 뭐가 있든 실행을 안해버린다는 것!

나는 그것도 모르고 alert을 하고 있었다....

728x90

'일기 > 개발일기' 카테고리의 다른 글

[241015] 모드버스 RTU와 TCP  (0) 2024.10.15
[241014] RS-485 Modbus RTU 통신  (1) 2024.10.14
[241008] Next.js와 nextAuth 자동화 기능  (1) 2024.10.08
[241002] Next.js 미들웨어  (0) 2024.10.02
[240930] Next.js 인증  (2) 2024.09.30

+ Recent posts