Files
portabase/portabase.config.ts
T

109 lines
3.1 KiB
TypeScript
Raw Normal View History

2025-12-21 16:55:12 +01:00
export interface AuthProviderConfig {
id: "google" | "github" | "credential";
isActive: boolean;
icon: string;
2025-12-21 16:55:12 +01:00
isManual?: boolean;
credentials?: {
clientId: string;
clientSecret: string;
};
}
2025-07-25 21:41:28 +02:00
export const PORTABASE_DEFAULT_SETTINGS = {
SECURITY: {
CSP: {
DEFAULT_SRC: ["'self'"],
SCRIPT_SRC: [
"'self'",
"'unsafe-eval'",
"'unsafe-inline'",
"https://cdn.jsdelivr.net",
"https://www.googletagmanager.com",
"https://code.iconify.design",
"https://code.iconify.com",
"https://cdn.iconify.design",
"https://api.iconify.design",
2025-08-02 20:13:29 +02:00
],
STYLE_SRC: [
"'self'",
"'unsafe-inline'",
"https://fonts.googleapis.com",
"https://code.iconify.design",
"https://cdn.iconify.design",
"https://code.iconify.com",
],
IMG_SRC: [
"'self'",
"blob:",
"data:",
"https:",
"https://code.iconify.design",
"https://cdn.iconify.design",
"https://code.iconify.com",
"https://api.iconify.design",
2025-08-02 20:13:29 +02:00
"http://localhost:9000",
],
FONT_SRC: [
"'self'",
"https://fonts.gstatic.com",
"https://cdn.iconify.design",
],
CONNECT_SRC: [
"'self'",
"https://api.iconify.design",
"https://code.iconify.design",
2025-11-08 20:07:49 +01:00
"https://api.github.com",
2025-11-07 22:04:10 +01:00
],
2025-07-25 21:41:28 +02:00
OBJECT_SRC: ["'none'"],
BASE_URI: ["'self'"],
FORM_ACTION: ["'self'"],
FRAME_ANCESTORS: ["'none'"],
BLOCK_ALL_MIXED_CONTENT: false,
UPGRADE_INSECURE_REQUESTS: process.env.PROJECT_URL?.startsWith("https://") || false,
2025-07-25 21:41:28 +02:00
},
PERMISSIONS_POLICY: {
CAMERA: ["()"],
MICROPHONE: ["()"],
GEOLOCATION: ["()"],
FULLSCREEN: ["(self)"],
// ...other features
},
},
};
2025-12-21 16:55:12 +01:00
export const SUPPORTED_PROVIDERS: AuthProviderConfig[] = [
{
id: "google",
icon: "hugeicons:chrome",
isActive: Boolean(process.env.AUTH_GOOGLE_METHOD),
2025-12-23 22:06:14 +01:00
// isManual: true,
2025-12-21 16:55:12 +01:00
credentials: {
2025-12-30 10:42:51 +01:00
clientId: process.env.AUTH_GOOGLE_ID || "",
clientSecret: process.env.AUTH_GOOGLE_SECRET || "",
2025-12-21 16:55:12 +01:00
},
},
{
id: "github",
2025-12-30 10:42:51 +01:00
icon: "iconoir:github",
isActive: Boolean(process.env.AUTH_GITHUB_METHOD),
2025-12-21 16:55:12 +01:00
credentials: {
2025-12-30 10:42:51 +01:00
clientId: process.env.AUTH_GITHUB_ID || "",
clientSecret: process.env.AUTH_GITHUB_SECRET || "",
2025-12-21 16:55:12 +01:00
},
2025-12-30 10:42:51 +01:00
},
2025-12-21 16:55:12 +01:00
{
id: "credential",
isActive: true,
icon: "proicons:key",
2025-12-21 16:55:12 +01:00
isManual: true,
credentials: {
clientId: "",
clientSecret: "",
},
},
];