SharePoint
Aide

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


Diagramme de sequence authentification.png

​Diagramme 1 : diagramme de séquence authentification (OIDC)​


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 :

Paramètres

NameTypeRequiredValeurDescription

client_id

 

Stringtruesiseri-front 
usernameStringtrue{login/email} 
passwordStringtrue{mot de passe} 
grant_typeStringtruepassword 

 

Réponse : 
Code de retourDescriptionSchema
200Vous êtes connectéavec 2 tokens
401Couple identifiant/mot de passe invalideNo 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 swagger https://siseri.prod.ul2i.fr/siseri/swagger-ui/index.html#/​​

 API Diagramme architecture.png

Diagramme 2 : diagramme d'architecture des interfaces asynchrones d'import​


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