| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| adel:utilisateurs:api-rest:implementation [2021/02/17 17:06] – [Authentification] eric | adel:utilisateurs:api-rest:implementation [2021/09/09 09:57] (Version actuelle) – [3 - Actualisation du ''access_token''] julien.lanfrey |
|---|
| |
| ===== Authentification ===== | ===== Authentification ===== |
| | |
| | **Preambule** |
| |
| Deux standards sont employés dans le but de sécuriser l'API : | Deux standards sont employés dans le but de sécuriser l'API : |
| **Principe général** | **Principe général** |
| - On commence par transmettre des informations d'authentification initiale à l'API (login et mot de passe). L'API vérifie les droits de la personne à utiliser l'API et, le cas échéant lui retourne un ''access_token'' et un ''refresh_token''. | - On commence par transmettre des informations d'authentification initiale à l'API (login et mot de passe). L'API vérifie les droits de la personne à utiliser l'API et, le cas échéant lui retourne un ''access_token'' et un ''refresh_token''. |
| - Le ''access_token'' est un identifiant unique qui sert de laisser-passer pour tout appel successif à l'API. Il a une durée de vie relativement courte (de l'ordre de l'heure). Au delà, un nouvel appel à l'API provoquera une erreur. | - Le ''access_token'' est un identifiant unique qui sert de laisser-passer pour tout appel ultérieur à l'API. Il a une durée de vie relativement courte (de l'ordre de l'heure). Au delà, un nouvel appel à l'API provoquera une erreur. |
| - Le ''refresh_token'' sert à demander à l'API un nouvel ''access_token'', typiquement quand ce dernier a expiré. Il a donc une durée de vie beaucoup plus longue. | - Le ''refresh_token'' sert à demander à l'API un nouvel ''access_token'', typiquement quand ce dernier a expiré. Il a donc une durée de vie beaucoup plus longue. |
| ** | ** |
| $.ajax({ | $.ajax({ |
| method: 'POST', | method: 'POST', |
| url: 'https://votre/instance/adel/oauth/token', | url: 'https://secure.bayard-service.com/annuaire_<MON_ANNUAIRE>/oauth/token', |
| contentType: 'application/x-www-form-urlencoded; charset=utf-8', | contentType: 'application/x-www-form-urlencoded; charset=utf-8', |
| crossDomain:true, | crossDomain:true, |
| $.ajax({ | $.ajax({ |
| method: 'GET', | method: 'GET', |
| url: 'https://votre/instance/adel/api/v1/personnes/123', | url: 'https://secure.bayard-service.com/annuaire_<MON_ANNUAIRE>/api/v1/personnes/123', |
| dataType: 'json', | dataType: 'json', |
| crossDomain:true, | crossDomain:true, |
| $.ajax({ | $.ajax({ |
| method: 'POST', | method: 'POST', |
| url: 'https://votre/instance/adel/oauth/token', | url: 'https://secure.bayard-service.com/annuaire_<MON_ANNUAIRE>/oauth/token', |
| contentType:'application/x-www-form-urlencoded; charset=utf-8', | contentType:'application/x-www-form-urlencoded; charset=utf-8', |
| data: { | data: { |