UNPKG

keystone-6-oauth

Version:

Keystone6 Plugin that enables social logins such as Google, Twitter, Github, Facebook and others.

44 lines (38 loc) 1.25 kB
import ejs from 'ejs'; import { NextAuthTemplateProps } from '../types'; const template = ` import { getContext } from '@keystone-6/core/context'; import getNextAuthPage from 'keystone-6-oauth/pages/NextAuthPage'; import keystoneConfig from '../../../../../keystone'; import * as PrismaModule from '.prisma/client'; const keystoneContext = global.keystoneContext || getContext(keystoneConfig, PrismaModule); if (process.env.NODE_ENV !== 'production') globalThis.keystoneContext = keystoneContext export default getNextAuthPage({ autoCreate: <%= autoCreate %>, context: keystoneContext, identityField: '<%= identityField %>', listKey: '<%= listKey %>', onSignIn: keystoneConfig.onSignIn, onSignUp: keystoneConfig.onSignUp, pages: keystoneConfig.pages, providers: keystoneConfig.providers, sessionData: '<%= sessionData %>', sessionSecret: '<%= sessionSecret %>', }); `; export const authTemplate = ({ autoCreate, identityField, listKey, sessionData, sessionSecret, }: NextAuthTemplateProps) => { const authOut = ejs.render(template, { autoCreate, identityField, listKey, sessionData, sessionSecret, }); return authOut; };