> ## 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.

# Módulo SSO

> Soporte de inicio de sesión único (SSO) para autenticar usuarios de Base44 con sistemas externos. Disponible mediante base44.asServiceRole.sso.

<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>

# Módulo SSO

Soporte de inicio de sesión único (SSO) para autenticar usuarios de Base44 con sistemas externos. Disponible mediante `base44.asServiceRole.sso`.

> **Solo backend**: Este módulo requiere acceso de rol de servicio y solo puede usarse en funciones de backend alojadas en Base44.

## Métodos

| Método                   | Firma                             | Descripción                                               |
| ------------------------ | --------------------------------- | --------------------------------------------------------- |
| `getAccessToken(userId)` | `Promise<SsoAccessTokenResponse>` | Obtiene un token de acceso SSO para un usuario específico |

## Ejemplos

### Obtener token de acceso SSO

```javascript theme={null}
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Obtener el usuario actual
  const user = await base44.auth.me();
  if (!user) {
    return Response.json({ error: "Unauthorized" }, { status: 401 });
  }

  // Obtener token de acceso SSO para este usuario
  const { access_token } = await base44.asServiceRole.sso.getAccessToken(user.id);

  // Usar el token para autenticar con un sistema externo
  return Response.json({ ssoToken: access_token });
});
```

### Obtener token para un usuario específico (rol de servicio)

```javascript theme={null}
Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);
  const { userId } = await req.json();

  // Obtener token SSO para cualquier usuario (el rol de servicio tiene acceso a todos los usuarios)
  const { access_token } = await base44.asServiceRole.sso.getAccessToken(userId);

  return Response.json({ token: access_token });
});
```

## Casos de uso

* Autenticar usuarios de Base44 con herramientas SaaS externas (por ejemplo, Okta, Azure AD)
* Construir puentes SSO entre Base44 y sistemas de terceros
* Generar tokens para llamadas autenticadas de backend a backend

## Definiciones de tipos

```typescript theme={null}
/** Respuesta del endpoint de token de acceso SSO. */
interface SsoAccessTokenResponse {
  /** El token de acceso SSO para el usuario especificado. */
  access_token: string;
}

/** Módulo SSO para gestionar la autenticación SSO (solo rol de servicio). */
interface SsoModule {
  /**
   * Obtiene un token de acceso SSO para un usuario específico.
   * @param userid - El ID de usuario de Base44 para el que obtener el token SSO.
   * @returns Promesa que resuelve a la respuesta del token de acceso SSO.
   */
  getAccessToken(userid: string): Promise<SsoAccessTokenResponse>;
}
```

<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>
