diff --git a/demo/nextjs/lib/auth.ts b/demo/nextjs/lib/auth.ts
index 9fe77823..8afcd2ba 100644
--- a/demo/nextjs/lib/auth.ts
+++ b/demo/nextjs/lib/auth.ts
@@ -24,9 +24,22 @@ export const auth = betterAuth({
dialect: libsql,
type: "sqlite",
},
+ emailVerification: {
+ async sendVerificationEmail(user, url) {
+ console.log("Sending verification email to", user.email);
+ const res = await resend.emails.send({
+ from,
+ to: to || user.email,
+ subject: "Verify your email address",
+ html: `Verify your email address`,
+ });
+ console.log(res, user.email);
+ },
+ sendEmailVerificationOnSignUp: true,
+ },
emailAndPassword: {
enabled: true,
- async sendResetPassword(url, user) {
+ async sendResetPassword(user, url) {
await resend.emails.send({
from,
to: user.email,
@@ -37,17 +50,6 @@ export const auth = betterAuth({
}),
});
},
- sendEmailVerificationOnSignUp: true,
- async sendVerificationEmail(email, url) {
- console.log("Sending verification email to", email);
- const res = await resend.emails.send({
- from,
- to: to || email,
- subject: "Verify your email address",
- html: `Verify your email address`,
- });
- console.log(res, email);
- },
},
plugins: [
organization({
@@ -89,36 +91,6 @@ export const auth = betterAuth({
passkey(),
bearer(),
admin(),
- {
- id: "last-login-ip",
- hooks: {
- after: [
- {
- matcher(context) {
- return true;
- },
- async handler(ctx) {
- const header = ctx.headers;
- const response = ctx.context.returned;
- if (response instanceof Response) {
- const hasSetCookie = response.headers.get("set-cookie");
- const hasSessionCookie = response.headers
- .get("set-cookie")
- ?.includes("session_token");
- if (hasSessionCookie) {
- const ipAddress =
- header?.get("x-forwarded-for") ||
- header?.get("cf-connecting-ip");
- if (ipAddress) {
- //update the user's last login IP
- }
- }
- }
- },
- },
- ],
- },
- },
],
socialProviders: {
github: {
diff --git a/examples/nextjs-example/lib/auth.ts b/examples/nextjs-example/lib/auth.ts
index b9754a59..8afcd2ba 100644
--- a/examples/nextjs-example/lib/auth.ts
+++ b/examples/nextjs-example/lib/auth.ts
@@ -24,9 +24,22 @@ export const auth = betterAuth({
dialect: libsql,
type: "sqlite",
},
+ emailVerification: {
+ async sendVerificationEmail(user, url) {
+ console.log("Sending verification email to", user.email);
+ const res = await resend.emails.send({
+ from,
+ to: to || user.email,
+ subject: "Verify your email address",
+ html: `Verify your email address`,
+ });
+ console.log(res, user.email);
+ },
+ sendEmailVerificationOnSignUp: true,
+ },
emailAndPassword: {
enabled: true,
- async sendResetPassword(url, user) {
+ async sendResetPassword(user, url) {
await resend.emails.send({
from,
to: user.email,
@@ -37,17 +50,6 @@ export const auth = betterAuth({
}),
});
},
- sendEmailVerificationOnSignUp: true,
- async sendVerificationEmail(email, url) {
- console.log("Sending verification email to", email);
- const res = await resend.emails.send({
- from,
- to: to || email,
- subject: "Verify your email address",
- html: `Verify your email address`,
- });
- console.log(res, email);
- },
},
plugins: [
organization({
@@ -107,5 +109,9 @@ export const auth = betterAuth({
clientId: process.env.MICROSOFT_CLIENT_ID || "",
clientSecret: process.env.MICROSOFT_CLIENT_SECRET || "",
},
+ twitch: {
+ clientId: process.env.TWITCH_CLIENT_ID || "",
+ clientSecret: process.env.TWITCH_CLIENT_SECRET || "",
+ },
},
});