mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
* chore: dev -> dev/nextjs * chore: move to /examples * chore: move to playgrounds, add dev/sveltekit * Update sync.yml * chore: dev scripts
66 lines
2.0 KiB
TypeScript
66 lines
2.0 KiB
TypeScript
import NextAuth, { NextAuthOptions } from "next-auth"
|
|
import GoogleProvider from "next-auth/providers/google"
|
|
import FacebookProvider from "next-auth/providers/facebook"
|
|
import GithubProvider from "next-auth/providers/github"
|
|
import TwitterProvider from "next-auth/providers/twitter"
|
|
import Auth0Provider from "next-auth/providers/auth0"
|
|
// import AppleProvider from "next-auth/providers/apple"
|
|
// import EmailProvider from "next-auth/providers/email"
|
|
|
|
// For more information on each option (and a full list of options) go to
|
|
// https://next-auth.js.org/configuration/options
|
|
export const authOptions: NextAuthOptions = {
|
|
// https://next-auth.js.org/configuration/providers/oauth
|
|
providers: [
|
|
/* EmailProvider({
|
|
server: process.env.EMAIL_SERVER,
|
|
from: process.env.EMAIL_FROM,
|
|
}),
|
|
// Temporarily removing the Apple provider from the demo site as the
|
|
// callback URL for it needs updating due to Vercel changing domains
|
|
|
|
Providers.Apple({
|
|
clientId: process.env.APPLE_ID,
|
|
clientSecret: {
|
|
appleId: process.env.APPLE_ID,
|
|
teamId: process.env.APPLE_TEAM_ID,
|
|
privateKey: process.env.APPLE_PRIVATE_KEY,
|
|
keyId: process.env.APPLE_KEY_ID,
|
|
},
|
|
}),
|
|
*/
|
|
FacebookProvider({
|
|
clientId: process.env.FACEBOOK_ID,
|
|
clientSecret: process.env.FACEBOOK_SECRET,
|
|
}),
|
|
GithubProvider({
|
|
clientId: process.env.GITHUB_ID,
|
|
clientSecret: process.env.GITHUB_SECRET,
|
|
}),
|
|
GoogleProvider({
|
|
clientId: process.env.GOOGLE_ID,
|
|
clientSecret: process.env.GOOGLE_SECRET,
|
|
}),
|
|
TwitterProvider({
|
|
clientId: process.env.TWITTER_ID,
|
|
clientSecret: process.env.TWITTER_SECRET,
|
|
}),
|
|
Auth0Provider({
|
|
clientId: process.env.AUTH0_ID,
|
|
clientSecret: process.env.AUTH0_SECRET,
|
|
issuer: process.env.AUTH0_ISSUER,
|
|
}),
|
|
],
|
|
theme: {
|
|
colorScheme: "light",
|
|
},
|
|
callbacks: {
|
|
async jwt({ token }) {
|
|
token.userRole = "admin"
|
|
return token
|
|
},
|
|
},
|
|
}
|
|
|
|
export default NextAuth(authOptions)
|