Skip to content

Commit 72fc39d

Browse files
committed
Refactor authentication configuration in BetterAuthProvider: Updated session management to store sessions in the database, increased email verification expiration to 24 hours, and adjusted token expiration settings using date-fns for improved clarity and maintainability.
1 parent 1cb61f0 commit 72fc39d

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

apps/api/src/auth/better-auth.provider.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import * as schema from 'src/databases/drizzle.schema';
1010
import { MailService } from 'src/notifications/mail.service';
1111
import { AuthConfig } from 'src/common/config/auth.config';
1212
import { AppConfig } from 'src/common/config/app.config';
13+
import { hoursToSeconds, minutesToSeconds } from 'date-fns';
1314

1415
const BETTER_AUTH = Symbol('BETTER_AUTH');
1516
export const InjectBetterAuth = () => Inject(BETTER_AUTH);
@@ -61,10 +62,7 @@ export const BetterAuthProvider = {
6162
basePath: authConfig.basePath,
6263
trustedOrigins: authConfig.trustedOrigins,
6364
session: {
64-
cookieCache: {
65-
enabled: true,
66-
maxAge: 60 * 5,
67-
},
65+
storeSessionInDatabase: true,
6866
},
6967
user: {
7068
changeEmail: {
@@ -86,17 +84,17 @@ export const BetterAuthProvider = {
8684
return mailService.sendVerificationEmail({
8785
to: user.email,
8886
props: {
89-
expirationHours: 1,
87+
expirationHours: 24,
9088
userEmail: user.email,
9189
verificationUrl: url,
9290
},
9391
});
9492
},
9593
autoSignInAfterVerification: true,
96-
expiresIn: 3600, // 1 hour
94+
expiresIn: hoursToSeconds(24), // 1 hour
9795
},
9896
emailAndPassword: {
99-
resetPasswordTokenExpiresIn: 3600, // 1 hour
97+
resetPasswordTokenExpiresIn: hoursToSeconds(1), // 1 hour
10098
enabled: true,
10199
autoSignIn: true,
102100
sendResetPassword: async ({ user, url }) => {
@@ -114,15 +112,15 @@ export const BetterAuthProvider = {
114112
emailOTP({
115113
overrideDefaultEmailVerification: true,
116114
otpLength: 6,
117-
expiresIn: 300,
115+
expiresIn: minutesToSeconds(5),
118116
allowedAttempts: 5,
119117
sendVerificationOTP: async ({ email, otp, type }) => {
120118
if (type === 'sign-in') {
121119
return mailService.sendSignInOtpEmail({
122120
to: email,
123121
props: {
124122
otpCode: otp,
125-
expiresInSeconds: 300,
123+
expiresInSeconds: minutesToSeconds(5),
126124
},
127125
});
128126
}

0 commit comments

Comments
 (0)