2025-11-12 08:17:28 -08:00
|
|
|
{
|
|
|
|
|
"routes": [
|
|
|
|
|
{
|
|
|
|
|
"route": "/api/*",
|
|
|
|
|
"allowedRoles": ["anonymous", "authenticated"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/admin/*",
|
|
|
|
|
"allowedRoles": ["Admin"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/volunteer/*",
|
|
|
|
|
"allowedRoles": ["Volunteer", "Admin"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/resource/*",
|
|
|
|
|
"allowedRoles": ["Resource", "Admin"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/portals/*",
|
|
|
|
|
"allowedRoles": ["authenticated"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/analytics/*",
|
|
|
|
|
"allowedRoles": ["Admin"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/ai-portal/*",
|
|
|
|
|
"allowedRoles": ["Admin", "Volunteer"]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"route": "/*",
|
|
|
|
|
"rewrite": "/index.html"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"navigationFallback": {
|
|
|
|
|
"rewrite": "/index.html",
|
|
|
|
|
"exclude": ["/api/*", "/admin/*", "/volunteer/*", "/resource/*"]
|
|
|
|
|
},
|
|
|
|
|
"responseOverrides": {
|
|
|
|
|
"401": {
|
|
|
|
|
"redirect": "/#/portals",
|
|
|
|
|
"statusCode": 302
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"redirect": "/#/portals",
|
|
|
|
|
"statusCode": 302
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"auth": {
|
|
|
|
|
"identityProviders": {
|
|
|
|
|
"azureActiveDirectory": {
|
|
|
|
|
"registration": {
|
|
|
|
|
"openIdIssuer": "https://login.microsoftonline.com/{tenantId}/v2.0",
|
|
|
|
|
"clientIdSettingName": "AZURE_CLIENT_ID",
|
|
|
|
|
"clientSecretSettingName": "AZURE_CLIENT_SECRET"
|
|
|
|
|
},
|
|
|
|
|
"userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
|
|
|
|
|
"userDetailsPrincipalName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"globalHeaders": {
|
|
|
|
|
"X-Content-Type-Options": "nosniff",
|
|
|
|
|
"X-Frame-Options": "DENY",
|
|
|
|
|
"X-XSS-Protection": "1; mode=block",
|
|
|
|
|
"Referrer-Policy": "strict-origin-when-cross-origin",
|
|
|
|
|
"Permissions-Policy": "geolocation=(), microphone=(), camera=()",
|
|
|
|
|
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
|
|
|
|
|
"Content-Security-Policy": "default-src 'self' https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https: data:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https: blob:; font-src 'self' https: data:; connect-src 'self' https: wss:; media-src 'self' https: data:; object-src 'none'; base-uri 'self'; form-action 'self' https:; frame-ancestors 'none'; upgrade-insecure-requests"
|
|
|
|
|
},
|
|
|
|
|
"mimeTypes": {
|
|
|
|
|
".json": "application/json",
|
|
|
|
|
".js": "text/javascript",
|
|
|
|
|
".css": "text/css",
|
|
|
|
|
".svg": "image/svg+xml",
|
|
|
|
|
".png": "image/png",
|
|
|
|
|
".jpg": "image/jpeg",
|
|
|
|
|
".jpeg": "image/jpeg",
|
|
|
|
|
".gif": "image/gif",
|
|
|
|
|
".ico": "image/x-icon",
|
|
|
|
|
".woff": "font/woff",
|
|
|
|
|
".woff2": "font/woff2",
|
|
|
|
|
".ttf": "font/ttf",
|
|
|
|
|
".eot": "application/vnd.ms-fontobject"
|
|
|
|
|
},
|
2025-11-12 09:49:21 -08:00
|
|
|
"platform": {
|
|
|
|
|
"apiRuntime": "node:20"
|
|
|
|
|
},
|
2025-11-12 08:17:28 -08:00
|
|
|
"forwardingGateway": {
|
|
|
|
|
"allowedForwardedHosts": [
|
|
|
|
|
"mim4u.org",
|
|
|
|
|
"www.mim4u.org"
|
|
|
|
|
]
|
|
|
|
|
}
|
2025-10-05 14:33:52 -07:00
|
|
|
}
|