Esup-Signature

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Info

Depuis la version 1.11.2 des web services, sous la forme d'API REST, sont disponibles. Esup-Signature propose une documentation automatique disponible sur votre instance à l'adresse "https://<votre adresse>/swagger-ui.html"

La documentation est aussi consultable (mais non testable...) sur le site de démonstration à cette adresse :

https://esup-signature-demo.univ-rouen.fr/swagger-ui.html

Sommaire

...

Web service /ws-jwt

Depuis la version 1.34, il existe une nouvelle route /ws-jwt sécurisée par JWT. Grâce au jwt, l'utilisateur signataire est authentifié, ce qui permet de signer directement le document que l'on upload.

Pour que cela fonctionne, il faut configurer l'adresse issuer du fournissuer de jeton (à l'université Rouen c'est CAS qui fourni les jetons).

Lorsque le l'appel des web service de la route /ws-jwt, il faut transmettre le jwt soit via le header (bearer <token>), soit via un cookie nommé "jwt".

Sécurité des web services /ws

L'accès aux web services est filtré par IP. Pour autoriser l'accès il faut modifier la configuration en ajoutant l'IP de la machine concernée au niveau du paramètre ws-access-authorize-ips ici :

...

Il faut alors ajouter l'attribut X-API-Key contenant la clé, dans le header de la requête du client.

...

Remarque

Dans tous les cas la/les machine(s) qui exécutent les web service (directement, via commandes curl ou qui utilise swagger) doivent être déclarées dans la configuration d'esup-signature. L'accès aux web services permet d'effectuer beaucoup d'actions il est donc sécurisé par adresse IP, à configurer dans src/main/resources/application.yml au niveau du paramètres : ws-access-authorize-ips


...

Fonctionnement général

La première étape pour utiliser les web services est de créer un circuit au niveau de l'administration.

...

Démarrer un formulaire

Accès : https://<votre adresse>/ws/forms/{id}/new

Description : Ce web service va créer une nouvelle instance du formulaire désigné pas le paramètre "id" de l'url d'accès.

...

AttributDescription

createByEppn

eppn du propriétaire du futur document
stepsJsonString

Si les participants de certaines étapes sont configurables, il faut saisir un tableau de WorkflowStepDto[].

Ex :

[{"signType":"pdfImageStamp", "recipients": [{"email": "test.test@univ-ville.fr"}, {"email": "test2.test2@univ-ville.fr"}]},

{"signType":"certSign", "recipients": [{"email": "test.test@univ-ville.fr"}, {"email": "test2.test2@univ-ville.fr"}]}]

targetEmailsPour que la demande soit transmise par à la fin du circuit, il est possible, d'envoyer un tableau de String contenant la liste des destinataires finaux
targetUrlurl pour la destination finale des formulaire terminés. Ex : smb://stockage.univ-ville.fr/form

...

Envoyer un document dans un circuit existant


Accès : https://<votre adresse>/ws/workflows/{id}/new

Description : Ce web service va déposer d'un document dans une nouvelle instance d'un circuit

...

AttributDescription
multipartFile (obligatoire)

Multipart stream du fichier à signer

createByEppn (obligatoire)eppn du propriétaire du futur document
stepsJsonString

Si les participants de certaines étapes sont configurables, il faut saisir un tableau de WorkflowStepDto[].

Ex :

[{"signType":"pdfImageStamp", "recipients": [{"email": "test.test@univ-ville.fr"}, {"email": "test2.test2@univ-ville.fr"}]},

{"signType":"certSign", "recipients": [{"email": "test.test@univ-ville.fr"}, {"email": "test2.test2@univ-ville.fr"}]}]

targetEmailsPour que la demande soit transmise par à la fin du circuit, il est possible, d'envoyer un tableau de String contenant la liste des destinataires finaux
targetUrlurl pour la destination finale des formulaire terminés. Ex : smb://stockage.univ-ville.fr/form

...