Skip to content

Fonctionnement du serveur API

Maël Gangloff edited this page May 15, 2023 · 6 revisions

Un serveur Proxy

L'authentification de l'utilisateur s'effectue auprès du SSO de son ENT. Pourtant, les requêtes du client se font sur le serveur api.skolengo.com. On peut donc légitimement penser que ce serveur agit comme un proxy vers les serveurs API des différents ENT.
Cette hypothèse est corroborée par la présence obligatoire de l'en-tête X-Skolengo-Ems-Code qui indique vers quel ENT la requête doit être envoyée.

Exemple d'en-tête obligatire présente dans les requêtes :

X-Skolengo-Ems-Code: gdest

Exemple d'en-têtes présentes dans les réponses :

content-type: application/vnd.api+json;charset=utf-8
version-ent: 4.12.19.4
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-krakend: Version undefined
x-krakend-completed: false

KrakenD est une passerelle API open-source et agit comme un proxy pour rediriger la requête vers l'API du bon ENT.

Un serveur API pour chaque ENT

Chaque ENT possède sa propre API.
Par exemple, Mon Bureau Numérique possède une API sur le serveur api.monbureaunumerique.fr.
En effectuant manuellement des requêtes sur ce serveur, on peut observer que certaines réponses sont identiques à celles obtenues en effectuant ces requêtes sur api.skolengo.com. Cependant, la présence de l'en-tête X-Skolengo-Ems-Code n'est cette fois-ci plus requise.

Clone this wiki locally