36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
// export const API_BASE_ADDR = import.meta.env.PROD ? "/api" : "http://localhost:8080/api"
|
|
export const API_BASE_ADDR = "/api"
|
|
|
|
// Lifetimes of *in-memory* authentication tokens in milliseconds
|
|
export const AT_EXP_MS = 15 * 60 * 1000 // 15 min.
|
|
export const CSRF_EXP_MS = 12 * 60 * 60 * 1000 // 12 h.
|
|
export const REFRESH_BUF = 30 * 1000 // 30 s.
|
|
|
|
// User registration password restrictions
|
|
export const MIN_PASSWORD_LENGTH = 12
|
|
export const MAX_PASSWORD_LENGTH = 72
|
|
export const MIN_PASSWORD_ENTROPY = 60.0
|
|
export const ENTROPY_CLASSES: Array<[RegExp, number]> = [
|
|
[/[a-z]/, 24], // 26
|
|
[/[A-Z]/, 24], // 26
|
|
[/\d/, 10],
|
|
[/[!@#$%^&*()\-_+=\[\]{}|;:'",.<>\/?`~\\]/, 32] // 40
|
|
]
|
|
|
|
export const TITLE_MAX_LENGTH = 150
|
|
|
|
export const UUID_REGEX = new RegExp(
|
|
"^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
|
|
"i"
|
|
)
|
|
|
|
// View cookie configuration (holds UNIX timestamp value of the actual refresh token cookie's expiration date)
|
|
export const VIEW_COOKIE_PATH = import.meta.env.VITE_VIEW_COOKIE_PATH || "/"
|
|
export const VIEW_COOKIE_DOMAIN = import.meta.env.VITE_VIEW_COOKIE_DOMAIN || "localhost"
|
|
export const COOKIE_SAME_SITE = import.meta.env.VITE_COOKIE_SAME_SITE || "strict"
|
|
export const COOKIE_SECURE = import.meta.env.PROD ? true : false
|
|
|
|
// Error/success notification display durations
|
|
export const ERR_NOTIFICATION_DUR = 8 * 1000 // 8 s.
|
|
export const SUC_NOTIFICATION_DUR = 8 * 1000 // 8 s.
|