Introduction aux API de gestion d’identités et d’accès
Cette section de la documentation s'adresse aux développeurs d'applications tierces désirant interfacer celles-ci avec le module de gestion d’identités et d’accès (techniquement nommé authentic).
Cette documentation se veut facile à lire, avec beaucoup de notes et d'exemples. Les différentes pages détaillent les points d'accès à utiliser pour réaliser les différentes opérations.
Les exemples donnés dans ce document utilisent pour la plupart l'outil en ligne de commande curl qui permet de manière simple l'envoi de requêtes HTTP à un serveur.
Aspects techniques
L'API Web Services est constituée d'appels REST, qui sont idéalement effectués en HTTPS, pour assurer la sécurité et la confidentialité des échanges. Le format d'échange des données est JSON. Ces deux propriétés la rendent accessible facilement à tous les langages et environnements de programmation modernes.
Authentification et identifiant des utilisateurs
L'authentification se fait en utilisant des comptes d'utilisateurs créés dans authentic. Ces comptes sont considérés comme des « comptes techniques » mais ils sont créés comme n'importe quel utilisateur. L'identifiant et le mot de passe du compte sont utilisés en utilisant le mode d'authentification HTTP Basic lors des appels aux WebServices. Lors de l'utilisation de l'API avec un compte utilisateur, l'identifiant des utilisateurs servi est l'identifiant unique uuid.
Les identifiants des clients OpenIDConnect (OIDC) peuvent également être utilisés pour interroger l'API. L'authentification HTTP Basic est toujours utilisée. L'identifiant employé est le Client ID du client OIDC. Le mot de passe utilisé est le Client Secret OIDC du client OIDC. Dans ce cas, l'identifiant des utilisateurs servi est l'identifiant désignant l'utilisateur auprès de ce service OIDC appelé sub.
Contrôle d'accès
En utilisant la fonctionnalité des rôles affectés aux utilisateurs, il est possible d'autoriser ou non les différentes actions : créer, modifier, rechercher, supprimer.
Par exemple, les utilisateurs listés via l'API se limitent à ceux visible du compte utilisateur employé pour interroger l'API.