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

# Applications OAuth

> Permettez à d'autres clients de StockShift de connecter votre application à leur compte avec OAuth 2.1.

Créez une application OAuth quand d'autres personnes connecteront votre logiciel à leur propre compte StockShift. Chaque membre qui la connecte choisit l'organisation et approuve les portées, et le jeton que reçoit votre application ne peut jamais faire plus que ce que ce membre pourrait faire.

StockShift est un serveur d'autorisation OAuth 2.1. Les applications utilisent le flux du code d'autorisation avec PKCE (`S256`). Il n'y a pas de secret client.

## Points de terminaison

Ils se trouvent tous sur l'hôte de l'application, `https://app.stockshift.io`.

| Point de terminaison | Utilité |
| - | - |
| `GET /.well-known/oauth-authorization-server` | Métadonnées du serveur ([RFC 8414](https://www.rfc-editor.org/rfc/rfc8414)). Découvrez les autres points de terminaison à partir d'ici. |
| `POST /oauth/register` | Enregistrez votre application ([RFC 7591](https://www.rfc-editor.org/rfc/rfc7591)). Limité à 10 par heure pour chaque adresse IP. |
| `GET /oauth/authorize` | Envoyez le membre ici pour qu'il se connecte et approuve votre application. |
| `POST /oauth/token` | Échangez le code contre des jetons, et actualisez-les. |

## Le flux

**1. Enregistrer votre application**

Enregistrez votre application une seule fois, avec son nom et ses URI de redirection. La réponse contient votre `client_id`.

**2. Envoyer le membre à la page de consentement**

Créez un vérificateur de code et son défi `S256`, puis ouvrez `/oauth/authorize` avec votre `client_id`, votre `redirect_uri`, les portées voulues dans `scope`, un `state` et le `code_challenge`.

Le membre se connecte, choisit l'organisation et décide de ce que votre application peut faire, module par module. Au départ, Voir est activé et Modifier est désactivé, et le membre ne peut accorder que ce que ses propres autorisations permettent. Une application que n'importe qui peut enregistrer affiche un badge **Application non vérifiée**.

**3. Échanger le code contre des jetons**

StockShift renvoie le membre vers votre URI de redirection avec un `code`, ou avec `error=access_denied` s'il a appuyé sur **Refuser**. Envoyez le code et votre vérificateur de code à `/oauth/token` avec un `POST`.

**4. Appeler l'API**

Envoyez le jeton d'accès comme `Authorization: Bearer <token>`, comme vous le feriez avec une clé d'API.

## Durée de vie des jetons

Les jetons d'accès durent une heure. Les jetons d'actualisation durent 30 jours, et chaque actualisation en renvoie un nouveau : enregistrez-le donc chaque fois.

Les SDK acceptent une fonction qui fournit le jeton et qu'ils appellent avant chaque requête, ce qui vous permet d'actualiser au fur et à mesure :

```ts theme={null}
const stockshift = new StockShift({ token: () => tokens.current() });
```

## Quand l'accès prend fin

Un membre voit les applications qu'il a connectées sous **Paramètres > Applications connectées** et peut en révoquer une à tout moment. Le propriétaire de l'organisation voit celles de tout le monde. Quand une application est révoquée, ou que le membre qui l'a connectée quitte l'organisation, ses jetons cessent de fonctionner immédiatement et elle doit redemander l'accès.


## Related topics

- [StockShift pour les développeurs](https://docs.stockshift.io/fr-ca/index.md)
- [Démarrer une connexion OAuth](https://docs.stockshift.io/fr-ca/api-reference/connexions/démarrer-une-connexion-oauth.md)
- [Lister les applications connectées](https://docs.stockshift.io/fr-ca/api-reference/applications-oauth/lister-les-applications-connectées.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.