Kudo

Paso 6 - Autenticación corporativa

Configura el proveedor de identidad corporativo para restringir el acceso al sitio

Como el sitio es estático, la autenticación se configura a nivel del hosting, no en el código. Elige tu plataforma:

Los secretos de la autenticación corporativa (AAD_CLIENT_ID, AAD_CLIENT_SECRET, CLOUDFLARE_API_TOKEN, etc.) deben tratarse como datos confidenciales. Almacénalos en GitHub Secrets (Settings → Secrets and variables → Actions) o gestiónalos a través del modelo de responsabilidad compartida utilizado en tu organización. Nunca los incluyas directamente en el código ni en archivos de configuración versionados.

Azure SWA incluye autenticación nativa con Microsoft Entra ID. Crea el archivo staticwebapp.config.json en la raíz del proyecto:

staticwebapp.config.json
{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
          "clientIdSettingName": "AAD_CLIENT_ID",
          "clientSecretSettingName": "AAD_CLIENT_SECRET"
        }
      }
    }
  },
  "routes": [
    {
      "route": "/.auth/login/aad",
      "allowedRoles": ["anonymous"]
    },
    {
      "route": "/.auth/*",
      "allowedRoles": ["anonymous"]
    },
    {
      "route": "/*",
      "allowedRoles": ["authenticated"]
    }
  ],
  "responseOverrides": {
    "401": {
      "redirect": "/.auth/login/aad",
      "statusCode": 302
    }
  }
}

Luego configura las variables de entorno en el portal de Azure:

  • AAD_CLIENT_ID → Client ID de tu App Registration en Entra ID
  • AAD_CLIENT_SECRET → Client Secret generado en Entra ID

Para restringir el acceso solo a usuarios de tu tenant, en tu App Registration ve a "Authentication" y en "Supported account types" selecciona "Accounts in this organizational directory only".