🐷
【Next.js】基礎から始めるNext.js API Routes【22[...nextauth].js】
【22[...nextauth].js】
YouTube: https://youtu.be/ozSxavvrJ2g
今回はこちら「[...nextauth].js」の中身を作成します。
ファイルの詳細設定はこちらが参考になります。
pages/api/auth/[...nextauth].js
import NextAuth from 'next-auth'
import CredentialsProvider from 'next-auth/providers/credentials'
import { prisma } from '../../../utils/prismaClient'
export default NextAuth({
providers: [
CredentialsProvider({
name: 'Credentials',
async authorize(credentials) {
const result = await prisma.user.findUnique({
where: {
email: credentials.email,
},
})
if (!result) {
return null
}
if (credentials.password !== result.password) {
throw new Error('Password wrong')
}
return result
},
}),
],
secret: 'secretKey',
session: {
strategy: 'jwt',
},
jwt: {
secret: 'secretKey',
},
callbacks: {
async jwt({ token, user, account, profile, isNewUser }) {
console.log('token :', token)
console.log('user :', user)
console.log('account :', account)
console.log('profile :', profile)
console.log('isNewUser :', isNewUser)
return token
},
async session({ session, token, user }) {
console.log('session :', session)
console.log('token :', token)
console.log('user :', user)
return session
},
},
})
Discussion