Is it possible to do a social login in Pop-up in next-auth? Or only possible redirecting to provider auth page?
I'm asking because I don't want to lose all application state after redirect to a provider page.
I don't want to save things in database or browser storage.
export default NextAuth({
// Configure one or more authentication providers
providers: [
Providers.Facebook({
clientId: process.env.FACEBOOK_ID,
clientSecret: PROCESS.ENV.FACEBOOK_SECRET
}),
Providers.Google({
clientId: process.env.GOOGLE_ID,
clientSecret: process.env.GOOGLE_SECRET,
authorizationUrl: 'https://accounts.google.com/o/oauth2/v2/auth?prompt=consent&access_type=offline&response_type=code',
}),
Providers.Credentials({
name: "credentials",
async authorize(credentials, req) {
const user = { email: req.body.email }
return user
},
}),
// ...add more providers here
],
jwt: {
signingKey: process.env.SIGNINING_KEY,
},
callbacks: {
async signIn(user, account) {
const { name, email } = user;
const { provider } = account
try {
// Do something
return true;
} catch (err) {
console.log(err)
return false;
}
},
async jwt(token, user, account) {
if (account?.accessToken) {
// some code
}
return token
},
async session (session, token) {
session.accessToken = token.accessToken
return session
}
}
})