Files
pedwfrontend/pages/api/auth/[...nextauth].js
T
2022-04-07 16:16:30 +01:00

34 lines
916 B
JavaScript

import NextAuth from "next-auth";
import Providers from "next-auth/providers";
import { Magic } from "@magic-sdk/admin";
const magic = new Magic(process.env.MAGIC_SK);
export default NextAuth({
session: {
jwt: true,
},
pages: {
// override signIn page so we can integrate with Magic
signIn: "/auth/signin",
},
providers: [
Providers.Credentials({
name: "Magic Link",
credentials: {
didToken: { label: "DID Token", type: "text" },
},
async authorize({ didToken }, req) {
// validate magic DID token
magic.token.validate(didToken);
// fetch user metadata
const metadata = await magic.users.getMetadataByToken(didToken);
// return user info
return { ...metadata };
},
}),
],
});