budibase/packages/backend-core/src/security/auth.ts

25 lines
655 B
TypeScript
Raw Normal View History

import env from "../environment"
2024-01-02 16:58:47 +01:00
export const PASSWORD_MIN_LENGTH = +(env.PASSWORD_MIN_LENGTH || 8)
export const PASSWORD_MAX_LENGTH = +(env.PASSWORD_MAX_LENGTH || 512)
2024-01-02 12:29:27 +01:00
export function validatePassword(
password: string
): { valid: true } | { valid: false; error: string } {
2024-01-02 16:38:58 +01:00
if (!password || password.length < PASSWORD_MIN_LENGTH) {
2024-01-02 13:22:38 +01:00
return {
valid: false,
error: `Password invalid. Minimum ${PASSWORD_MIN_LENGTH} characters.`,
2024-01-02 13:22:38 +01:00
}
2024-01-02 12:29:27 +01:00
}
2024-01-02 16:38:58 +01:00
if (password.length > PASSWORD_MAX_LENGTH) {
2024-01-02 15:16:09 +01:00
return {
valid: false,
2024-01-02 16:38:58 +01:00
error: `Password invalid. Maximum ${PASSWORD_MAX_LENGTH} characters.`,
2024-01-02 15:16:09 +01:00
}
}
2024-01-02 12:29:27 +01:00
return { valid: true }
}