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

# Module SSO

> Prise en charge du Single Sign-On (SSO) pour authentifier les utilisateurs Base44 avec des systèmes externes. Disponible via base44.asServiceRole.sso.

<Warning>
  Cette page fait partie d'une compétence d'agent de code IA et est écrite pour les agents, pas pour les humains. Pour la documentation Base44 lisible par un humain, consultez la [documentation développeur](/developers).
</Warning>

# Module SSO

Prise en charge du Single Sign-On (SSO) pour authentifier les utilisateurs Base44 avec des systèmes externes. Disponible via `base44.asServiceRole.sso`.

> **Backend uniquement** : ce module nécessite un accès service role et ne peut être utilisé que dans les fonctions backend hébergées par Base44.

## Méthodes

| Méthode                  | Signature                         | Description                                             |
| ------------------------ | --------------------------------- | ------------------------------------------------------- |
| `getAccessToken(userId)` | `Promise<SsoAccessTokenResponse>` | Obtenir un token d'accès SSO pour un utilisateur précis |

## Exemples

### Obtenir un token d'accès SSO

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

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

  // Get the current user
  const user = await base44.auth.me();
  if (!user) {
    return Response.json({ error: "Unauthorized" }, { status: 401 });
  }

  // Get SSO access token for this user
  const { access_token } = await base44.asServiceRole.sso.getAccessToken(user.id);

  // Use the token to authenticate with an external system
  return Response.json({ ssoToken: access_token });
});
```

### Obtenir un token pour un utilisateur précis (service role)

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

  // Get SSO token for any user (service role has access to all users)
  const { access_token } = await base44.asServiceRole.sso.getAccessToken(userId);

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

## Cas d'usage

* Authentifier des utilisateurs Base44 auprès d'outils SaaS externes (par exemple, Okta, Azure AD)
* Construire des ponts SSO entre Base44 et des systèmes tiers
* Générer des tokens pour les appels authentifiés backend-vers-backend

## Définitions de types

```typescript theme={null}
/** Response from the SSO access token endpoint. */
interface SsoAccessTokenResponse {
  /** The SSO access token for the specified user. */
  access_token: string;
}

/** SSO module for managing SSO authentication (service role only). */
interface SsoModule {
  /**
   * Gets an SSO access token for a specific user.
   * @param userid - The Base44 user ID to get the SSO token for.
   * @returns Promise resolving to the SSO access token response.
   */
  getAccessToken(userid: string): Promise<SsoAccessTokenResponse>;
}
```

<Note>Cette page a été traduite à l'aide de l'IA. Pour les informations les plus précises et à jour, consultez la [version anglaise](/). </Note>
