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 |