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

# Authentification

> Comment vous authentifier aupres de l'API AgentWallex en utilisant des cles API ou des jetons JWT.

## Methodes d'authentification

AgentWallex prend en charge deux methodes d'authentification :

| Methode          | En-tete                        | Cas d'utilisation                                     |
| ---------------- | ------------------------------ | ----------------------------------------------------- |
| Cle API          | `X-API-Key: awx_...`           | SDK et integrations serveur-a-serveur                 |
| Jeton JWT Bearer | `Authorization: Bearer eyJ...` | Application web, OAuth et sessions du tableau de bord |

## Authentification par cle API

Les cles API sont l'approche recommandee pour les integrations cote serveur et SDK. Chaque cle commence par le prefixe `awx_`.

```bash theme={null}
curl -X GET https://api.agentwallex.com/api/v1/agents \
  -H "X-API-Key: awx_your_api_key"
```

<Warning>
  N'exposez jamais votre cle API dans du code cote client, des depots publics ou des journaux. Chargez-la toujours a partir de variables d'environnement.
</Warning>

### Variables d'environnement

Stockez votre cle API comme variable d'environnement :

<CodeGroup>
  ```bash .env theme={null}
  AGENTWALLEX_API_KEY=awx_your_api_key
  ```

  ```typescript TypeScript theme={null}
  import { AgentWallex } from "@agentwallex/sdk";

  const aw = new AgentWallex({
    apiKey: process.env.AGENTWALLEX_API_KEY!,
  });
  ```

  ```python Python theme={null}
  import os
  from agentwallex import AgentWallex

  aw = AgentWallex(api_key=os.environ["AGENTWALLEX_API_KEY"])
  ```
</CodeGroup>

## Authentification par jeton JWT Bearer

Pour les applications web et les flux OAuth, utilisez les jetons JWT Bearer. Les jetons sont obtenus via le flux OAuth Google :

<Steps>
  <Step title="Demarrer le flux OAuth">
    Redirigez l'utilisateur vers le point de terminaison OAuth Google :

    ```
    GET /auth/google/redirect
    ```
  </Step>

  <Step title="Gerer le callback">
    Apres l'authentification, Google redirige vers votre URL de callback avec un code a usage unique :

    ```
    GET /auth/google/callback
    ```
  </Step>

  <Step title="Echanger contre des jetons">
    Echangez le code a usage unique contre des jetons d'acces et de rafraichissement :

    ```bash theme={null}
    curl -X POST https://api.agentwallex.com/api/v1/auth/exchange \
      -H "Content-Type: application/json" \
      -d '{"exchange_code": "one_time_code"}'
    ```
  </Step>

  <Step title="Utiliser le jeton d'acces">
    Incluez le jeton d'acces dans l'en-tete `Authorization` :

    ```bash theme={null}
    curl -X GET https://api.agentwallex.com/api/v1/agents \
      -H "Authorization: Bearer eyJhbGciOi..."
    ```
  </Step>
</Steps>

### Rafraichir les jetons

Les jetons d'acces expirent. Utilisez le jeton de rafraichissement pour obtenir un nouveau jeton d'acces :

```bash theme={null}
curl -X POST https://api.agentwallex.com/api/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "your_refresh_token"}'
```

### Deconnexion

Invalidez la session en cours :

```bash theme={null}
curl -X POST https://api.agentwallex.com/api/v1/auth/logout \
  -H "Authorization: Bearer eyJhbGciOi..."
```

## Bonnes pratiques de securite

<Tip>
  Suivez ces pratiques pour garder votre integration securisee.
</Tip>

* **Utilisez des variables d'environnement** — Ne codez jamais les cles API en dur dans le code source.
* **Effectuez une rotation reguliere des cles** — Effectuez une rotation des cles API au moins tous les 90 jours. Consultez [Cles API](/fr/introduction/api-keys) pour les instructions de rotation.
* **Utilisez la portee minimale necessaire** — Creez des cles API separees par environnement (sandbox vs. production).
* **Activez la liste blanche d'IP** — Disponible sur les plans Growth et Enterprise pour restreindre l'acces API aux IP connues.
* **Surveillez les journaux d'audit** — Consultez les evenements d'authentification dans le tableau de bord ou via `GET /audit-logs`.
* **Utilisez le sandbox pour le developpement** — Ne testez jamais avec des cles de production ou des fonds reels.
