feat(admin): configure model providers from database

This commit is contained in:
Jesse_Chen
2026-08-07 20:03:20 +08:00
parent d63f10dcc2
commit 3089316d2e
31 changed files with 871 additions and 1430 deletions
+1 -17
View File
@@ -63,7 +63,7 @@ export function adminProofSigningSecret(
): string {
const secret = env.BETTER_AUTH_USER_SECRET?.trim();
if (!secret || secret.length < 32) {
throw new AdminAuthorizationError("MFA 服务暂时不可用", 503);
throw new AdminAuthorizationError("安全验证服务暂时不可用", 503);
}
return secret;
}
@@ -86,27 +86,11 @@ export function readAdminMfaStatus(
return resolveAdminMfaStatus(session.requiresMfa, enrolled, verified);
}
export function requireAdminMfaIfRequired(
request: Request,
session: AdminSession,
): AdminMfaStatus {
const status = readAdminMfaStatus(request, session);
if (!status.required) return status;
if (!status.enrolled) {
throw new AdminAuthorizationError("此管理员角色必须先启用 MFA", 403);
}
if (!status.verified) {
throw new AdminAuthorizationError("请先完成当前会话的 MFA 验证", 403);
}
return status;
}
export async function requireHighRiskAdminMutation(
request: Request,
permission: AdminPermission,
): Promise<AdminSession> {
const session = await requireAdminMutation(request, permission);
requireAdminMfaIfRequired(request, session);
const origin = new URL(request.url).origin;
const valid = verifyHighRiskAdminProof(