Authentification
L'authentification est le processus par lequel votre application aquiert les droits d'accès aux API de Resamania. Il y a plusieurs méthodes pour obtenir ces autorisations, dépendantes des conditions particulières d'accès à celles-ci. Par exemple, une application mobile n'accèdera pas aux données de la même manière qu'une synchronisation de référentiels entre 2 serveurs.
Avant de commencer
Avant de pouvoir interagir avec les API et requêter des autorisations vous devez avoir enregistré votre application auprès de Resamania. Pour cela veuillez vous rapprocher de votre contact commercial.
Comprendre le processus d'authentification
Resamania implémente le standard OAuth 2.0. Celui-ci permet à un tiers (votre application) de demander à un serveur d'authentification (le serveur OAuth) l'autorisation d'accéder aux données d'un club (Resamania). Si votre application y est autorisée, le serveur OAuth vous fournit un access token. Il s'agit d'une chaîne de caractères qui implémente le standard JWT (JSON Web Token) et qui vous servira de clé d'accès. Dès lors vous présenterez cette clé d'accès aux API Resamania.
Un access token a un scope d'accès restreint selon plusieurs angles. Tout d'abord celui-ci permet d'accéder à une liste limitée de ressources préalablement établie lors de l'enregistrement de votre application. D'autre part le scope peut être restreint, dans certains cas d'utilisation, aux données liées directement à l'utilisateur connecté. Enfin un access token est restreint à une seule chaîne/club. Si votre application est enregistrée auprès de plusieurs chaînes, vous devrez requêter un access token par chaîne.
Un access token a une durée de vie limitée (aujourd'hui à 1h). Cette durée vous est fournie lors de la récupération d'un access_token et la date d'expiration exacte est transportée par le token lui même et accessible dans le payload du JWT sous l'entrée exp
au format timestamp.
Comprendre les différentes méthodes d'authentification
Notre serveur d'authentification supporte plusieurs méthodes de requête d'authentification appelées grant type.
Lors de l'enregistrement de votre application nous établirons ensemble la meilleure méthode selon vos besoins particuliers. Voici cependant un résumé de ces méthodes.
Grant type | Type de sécurisation | Cas d'utilisation |
---|---|---|
Authorization code | accès nominatif avec authentification déléguée à l'utilisateur final | Accés longue durée tels que des applications mobiles, SSO (Single Sign On) pour s'authentifier de manière unique sur un parc d'applications |
Password | accès nominatif avec authentification déléguée à l'utilisateur final | Accès courte durée sur des applications web, pas de SSO |
Client credentials | accès anonyme sans autorisation d'utilisateur final | Accès serveur à serveur, votre application sait protéger les clés liées à l'enregistrement de votre application |
Club Client credentials | accès anonyme scopé sur un club sans autorisation d'utilisateur final | Accès serveur à serveur, votre application sait protéger les clés liées à l'enregistrement de votre application |
Contact Client credentials | accès nominatif sans autorisation d'utilisateur final | Accès serveur à serveur, votre application sait protéger les clés liées à l'enregistrement de votre application |
refresh token | renouvellement d'accès | Obtention d'un nouvel access token après authentification par une méthode précédente |
Obtenir un access token
En résumé nous avons vu que :
- pour accéder au API vous avez besoin d'un access token
- pour avoir un access token vous devez utiliser une méthode d'authentification
Pour obtenir un access token, reportez vous aux sections correspondantes aux méthode d'accès qui vous ont été octroyées