Utilisation de l'API
Le contrôle d'accès
L'Authentification / autorisation à l'application web SISERI repose sur la mise en œuvre de OpenIDConnect. Ce dernier est un protocole d'authentification basé sur le OAuth 2.0, lui-même étant un protocole de délégation d'accès utilisé typiquement pour contrôler l'accès à des API REST.
Le fournisseur d'identité supporte OpenID Connect
La première étape consiste à demander l'autorisation pour accéder à l'application SISERI via une authentification avec login et mot de passe (Conformément au protocole OIDC) :
Demande d'autorisation/ authentification :
- Path : "/realms/siseri/protocol/openid-connect/token" (url de l'environnement sandbox de test : https://sso.siseri.irsn.fr/auth/realms/siseri_prod/protocol/openid-conn…)
- Method : POST
- Description : le web service d'authentification par l'application cliente pour récupérer un access token et un refresh token.
Paramètres
Name | Type | Required | Valeur | Description |
client_id
|
String | true | siseri-front | |
username | String | true | {login/email} | |
password | String | true | {mot de passe} | |
grant_type | String | true | password |
Réponse
Code de retour | Description | Schema |
200 | Vous êtes connecté | avec 2 tokens |
401 | Couple identifiant/mot de passe invalide | No Content |
Appel de l'API SISERI à l'aide d'un token
L'import/Export de doses proposés à l'OA via l'API nécessite un token (cf paragraphe précédent)
L'appel à l'API est documenté dans le swagger https://siseri.irsn.fr/siseri/swagger-ui/index.html#/
1. Authentification :
2. Récupération du token : à partir de la réponse de l'authentification.
3. Envoi de fichier :
- Endpoint doses (*) : POST / URI « api/import/dose/v1/habilitation/{nohabilitation}
- Endpoint travailleurs (*) : POST / URI « api/import/travailleur/v1/import
4. Récupération de l’identifiant unique de la requête d’import « uuid » :
On devrait le récupérer à partir de la réponse.
Par abus de langage, on a utilisé aussi le terme « idAppel » pour l’identifiant unique « uuid ».
5.Consulter l'état d'avancement :
- Endpoint doses (*) : GET/ URI « api/import/dose/v1/status/{uuid} »
- Endpoint travailleurs (*) : GET / URI « api/import/travailleur/v1/status/{uuid} »
- Endpoint doses (*) : POST / URI « api/import/dose/v1/rapport/{isErreur}
- Endpoint travailleurs (*) : POST / URI « api/import/travailleur/v1/rapport/{isErreur}
6. Récupérer le rapport d'éxécution
- Endpoint doses (*) : POST / URI « api/import/dose/v1/rapport/{isErreur}
- Endpoint travailleurs (*) : POST / URI « api/import/travailleur/v1/rapport/{isErreur}
{isErreur} c'est un Boolean pour préciser la nature du rapport (les lignes en erreur : true / les lignes importées : false)
(*) pour plus des détails, veuillez consulter la documentation swagger