Release v2.20.1: migrate authentication to Better Auth

This commit is contained in:
lzstealth committed 2026-10-25 18:19:55 +00:00
1 parent e9a53f577c
commit fba4f99ff7
92 files changed
+5085 -1943

No files matched your search

+11 -3
View File
@@ -1,6 +1,7 @@
// Account password page renderer and return URL normalization.
const { renderView } = require('#src/web/view');
const { resolvePasskeyRpID } = require('#src/web/lib/auth/better-auth');
function buildPasswordRequirementsText(requirements) {
const requiredCategories = [];
@@ -26,7 +27,7 @@ function normalizeReturnUrl(value) {
return url;
}
module.exports = function renderAccountPage(currentUser, message, returnUrl, allowUserSessionRevocation, sessions, passwordRequirements) {
module.exports = function renderAccountPage(currentUser, message, returnUrl, allowUserSessionRevocation, sessions, passwordRequirements, authMethods, passkeys) {
const requirements = passwordRequirements || {
minimumLength: 10,
minimumCategories: 3,
@@ -45,13 +46,20 @@ module.exports = function renderAccountPage(currentUser, message, returnUrl, all
email: currentUser ? String(currentUser.email || '') : '',
emailPending: Boolean(currentUser && currentUser.pending_email),
pendingEmail: currentUser ? String(currentUser.pending_email || '') : '',
emailVerified: Boolean(currentUser && currentUser.email_verified_at),
pendingEmailChange: Boolean(currentUser && currentUser.pending_email && String(currentUser.pending_email).trim().toLowerCase() !== String(currentUser.email || '').trim().toLowerCase()),
emailVerified: Boolean(currentUser && currentUser.email_verified),
authMethods: Array.isArray(authMethods) ? authMethods : [],
passkeys: Array.isArray(passkeys) ? passkeys : [],
passkeyRpID: resolvePasskeyRpID(process.env.BETTER_AUTH_URL || process.env.WEB_PUBLIC_URL),
returnUrl: normalizeReturnUrl(returnUrl),
allowUserSessionRevocation: Boolean(allowUserSessionRevocation),
sessions: Array.isArray(sessions) ? sessions : [],
passwordMinimumLength: requirements.minimumLength,
passwordRequirementsText: buildPasswordRequirementsText(requirements),
scripts: ['js/account/account-page.js']
twoFactorEnabled: Boolean(currentUser && currentUser.twoFactorEnabled),
requiresTwoFactor: Boolean(currentUser && currentUser.requiresTwoFactor),
canManageTwoFactor: Boolean(currentUser && !currentUser.isViewingAs),
scripts: ['vendor/qr-code-styling/qr-code-styling-loader.js', 'js/auth/passkey-client.js', 'js/account/two-factor.js', 'js/account/passkeys.js']
});
};