L’application Apidae propose une authentification via le protocole OAuth2. Ce protocole fournit un workflow d’authentification et d’autorisation sécurisé pour accéder aux services de l’application Apidae.
La bibliothèque sitra-api-php propose des services simplifiant l’utilisation de l’authentification OAuth et du SSO et services associés.
Ces mécanismes sont utilisés :
- pour le SSO
- pour accéder à des services de profil et de consultation des permissions d’un utilisateur
- pour accéder à des services nécessitant un niveau de sécurité plus élevé que la consultation : service d’écriture des métadonnées et API en écriture (à venir)
NOTE : l’authentification OAuth n’est pas nécessaire pour les services de consultation des objets touristiques, où la clé d’API suffit.
Pour le SSO et les services liés aux utilisateur (profil, permission), OAuth vous permet d’obtenir un token lié à votre client et à un utilisateur Apidae. C’est l’utilisateur Apidae qui vous accorde les autorisations nécessaires. Le mécanisme utilisé est le grant_type=authorization_code de OAuth). Cette autorisation est réalisée par le biais de redirection vers la plateforme Apidae (voir partie Single Sign On dans la suite).
Pour l’accès aux services d’écriture (métadonnées, API en écriture), l’accès n’est pas lié à un compte utilisateur Apidae. Le mécanisme utilisé est le grant_type=client_credentials de OAuth.
L’authentification repose sur l’association d’un id de client et d’une clé secrète. La première étape dans l’utilisation de l’authentification OAuth est de créer votre projet, puis de créer un client qui lui est associé. Voir client OAuth.
L’authentification OAuth, réalisée à l’aide de l’id de client et de sa clé secrète vous permet d’obtenir un token qui vous identifie auprès des web-services Apidae. Ce token est une chaîne de caractère qui autorise l’accès à une liste précise de services pour une durée limitée. Un token a une durée de vie de 12 heures à partir de sa création. Une fois que le token a expiré, il est nécessaire d’en demander un nouveau, ou de rafraîchir le token expiré.
Configuration
Un client OAuth représente une entité externe qui cherche à utiliser un service Apidae.Un client est systématiquement rattaché à un projet. A l’heure actuelle seul les projets de type SSO, métadonnées et écriture…
Single Sign On
L’utilisation du SSO requiert la création d’un projet de type SSO (dans Diffuser > Projets > Mes projets) et d’un client pour ce projet. Ce type d’authentification est nécessaire pour accéder aux…
Services associés au SSO
Des services sont spécifiquement associés au service de Single Sign On de Apidae ; ils vous permettent de récupérer des informations relatives au compte utilisateur connecté.
Authentification Client Credentials
Ce type d’authentification est nécessaire pour utiliser les API d’administration des métadonnées et les API en écriture.La récupération d’un token pour votre client se fait via le webservice token. Requête url :…
Authentification avec un token OAuth2
Pour s’authentifier lors de l’utilisation d’un service, il faut insérer le token dans l’en-tête HTTP de votre appel, avec le format suivant : Authorization: Bearer XXXX-XXXX-XXXX-XXXX-XXXX Exemple d’appel SSO authentifié…