-
Credetials callback function handle error (next-auth v5)FrontEnd/Next.js 2024. 6. 17. 12:48
https://github.com/nextauthjs/next-auth/pull/9871
기존 callback에서는 throw new Error로 처리했지만 CredentialSignin 을 활용하여 Custorm된 Error을 만들어줘야함
import NextAuth, { CredentialsSignin} from 'next-auth'; class CustomError extends CredentialsSignin { code = 'custom'; } export const { handlers, auth, signIn, signOut } = NextAuth({ //... providers:[ Credentials({ authorize: async ({ email, password }) => { if (!email || !password) throw new CustomError( 'Please enter your email and password' ); const user = await db.user.findFirst({ where: { email, }, }); if (!user) throw new CustomError('User not found'); const isValid = verifyPassword( password as string, user.password! ); if (!isValid) throw new CustomError('Invalid password'); return user; }, }) ] })
'FrontEnd > Next.js' 카테고리의 다른 글
[Next.js] useMediaQuery 모바일/데스크탑 구분 훅 (feat. window is not defined) (0) 2024.09.23 cloudinary API를 통해 이미지 업로드 해보기 (feat. Next.js) (0) 2024.09.06 form에서 server action 다루기 (0) 2024.06.15 Form에서 두개 이상의 버튼을 다루기 (feat. server action ) (1) 2024.06.14 인가 서버에서 token 받아오기 (OAuth) feat. NextJs (1) 2024.06.10