> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# base44 auth sso

> Configura un proveedor de identidad SSO (inicio de sesión único) para tu app. Admite Google, Microsoft, GitHub, Okta y proveedores OIDC personalizados. Los cambios en la configuración de autenticación son locales hasta que ejecutes base44 auth push o...

<Warning>
  Esta página es parte de una habilidad de agente de codificación con IA y está escrita para agentes, no para humanos. Para la documentación de Base44 legible por humanos, consulta la [documentación para desarrolladores](/developers).
</Warning>

# base44 auth sso

Configura un proveedor de identidad SSO (inicio de sesión único) para tu app. Admite Google, Microsoft, GitHub, Okta y proveedores OIDC personalizados. Los cambios en la configuración de autenticación son locales hasta que ejecutes `base44 auth push` o `base44 deploy`.

## Sintaxis

```bash theme={null}
npx base44 auth sso <action> [options]
```

## Argumentos

| Argumento  | Descripción          | Requerido |
| ---------- | -------------------- | --------- |
| `<action>` | `enable` o `disable` | Sí        |

## Opciones (enable)

| Opción                      | Descripción                                                                    | Requerido                  |
| --------------------------- | ------------------------------------------------------------------------------ | -------------------------- |
| `--provider <provider>`     | Proveedor SSO: `google`, `microsoft`, `github`, `okta`, `custom`               | Sí (enable)                |
| `--client-id <id>`          | ID de cliente OAuth                                                            | Sí (enable)                |
| `--client-secret <secret>`  | Secreto de cliente OAuth                                                       | No\*                       |
| `--client-secret-stdin`     | Lee el secreto de cliente desde stdin                                          | No\*                       |
| `--env-file <path>`         | Lee el secreto de cliente desde un archivo `.env` (clave: `sso_client_secret`) | No\*                       |
| `--file <path>`             | Archivo de configuración JSON con todas las configuraciones SSO                | No                         |
| `--scope <scope>`           | Alcance OAuth (por defecto según el proveedor)                                 | No                         |
| `--discovery-url <url>`     | URL de descubrimiento OIDC                                                     | No                         |
| `--tenant-id <id>`          | ID de inquilino de Microsoft                                                   | Requerido para `microsoft` |
| `--okta-domain <domain>`    | Dominio de Okta                                                                | Requerido para `okta`      |
| `--auth-endpoint <url>`     | Endpoint de autorización                                                       | Requerido para `custom`    |
| `--token-endpoint <url>`    | Endpoint de token                                                              | Requerido para `custom`    |
| `--userinfo-endpoint <url>` | Endpoint de información de usuario                                             | Requerido para `custom`    |
| `--jwks-uri <url>`          | URI JWKS                                                                       | Requerido para `custom`    |
| `--sso-name <name>`         | Nombre para mostrar del proveedor                                              | Requerido para `custom`    |

\*El secreto de cliente debe proporcionarse mediante `--client-secret`, `--client-secret-stdin`, `--env-file`, o la variable de entorno `sso_client_secret`.

## Ejemplos

```bash theme={null}
# Habilitar SSO de Google
npx base44 auth sso enable --provider google --client-id my-id --client-secret my-secret

# Habilitar SSO de Microsoft (se requiere ID de inquilino)
npx base44 auth sso enable --provider microsoft --client-id my-id --client-secret my-secret --tenant-id my-tenant

# Habilitar SSO de GitHub
npx base44 auth sso enable --provider github --client-id my-id --client-secret my-secret

# Habilitar SSO de Okta (se requiere dominio de Okta)
npx base44 auth sso enable --provider okta --client-id my-id --client-secret my-secret --okta-domain mycompany.okta.com

# Habilitar proveedor OIDC personalizado
npx base44 auth sso enable --provider custom \
  --client-id my-id --client-secret my-secret \
  --sso-name "My IdP" \
  --auth-endpoint https://idp.example.com/authorize \
  --token-endpoint https://idp.example.com/token \
  --userinfo-endpoint https://idp.example.com/userinfo \
  --jwks-uri https://idp.example.com/.well-known/jwks.json

# Leer secreto de cliente desde stdin
echo "my-secret" | npx base44 auth sso enable --provider google --client-id my-id --client-secret-stdin

# Cargar todas las configuraciones desde un archivo de configuración JSON
npx base44 auth sso enable --file sso-config.json

# Deshabilitar SSO
npx base44 auth sso disable
```

## Formato de archivo de configuración JSON

Usa `--file` para proporcionar todas las configuraciones desde un archivo JSON:

```json theme={null}
{
  "provider": "google",
  "clientId": "my-client-id",
  "clientSecret": "my-client-secret",
  "scope": "openid email profile"
}
```

Las banderas pasadas junto con `--file` sobrescriben los valores del archivo. No se puede combinar con `--env-file`.

## Notas

* Los cambios se escriben en la configuración local `base44/auth/`. Ejecuta `npx base44 auth push` o `npx base44 deploy` para aplicarlos.
* **SSO e inicio de sesión social son mutuamente excluyentes** — habilitar SSO desactiva cualquier configuración de inicio de sesión social activa en la configuración de autenticación local.
* `disable` elimina SSO de la configuración local y elimina las credenciales SSO almacenadas de Base44.
* Deshabilitar SSO cuando no hay otro método de inicio de sesión activo advertirá que los usuarios quedarán bloqueados.
* El secreto de cliente se almacena en el almacén de secretos de Base44, no en el archivo de configuración de autenticación local.

## Comandos relacionados

| Comando                      | Descripción                                                                |
| ---------------------------- | -------------------------------------------------------------------------- |
| `base44 auth social-login`   | Habilita o deshabilita proveedores de inicio de sesión social              |
| `base44 auth password-login` | Habilita o deshabilita la autenticación con nombre de usuario y contraseña |
| `base44 auth push`           | Envía la configuración de autenticación local a Base44                     |
| `base44 auth pull`           | Extrae la configuración de autenticación de Base44                         |

<Note>Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la [versión en inglés](/).</Note>
