Le contrôle d'accèsL'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 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
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 swagger https://siseri.prod.ul2i.fr/siseri/swagger-ui/index.html#/

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