Skip to main content
Dans ce scénario, nous allons créer une API de feuilles de temps pour une entreprise fictive nommée ExampleCo. L’API permettra d’ajouter des entrées de feuille de temps pour un employé ou un sous-traitant. Nous allons également créer une application monopage (SPA) qui servira à consigner des entrées de feuille de temps et à les envoyer à la base de données centralisée des feuilles de temps au moyen de l’API.

En bref

  • Auth0 fournit l’authentification et l’autorisation des API comme moyen de sécuriser l’accès aux points de terminaison de l’API (voir Authentification et autorisation de l’API)
  • Pour autoriser un utilisateur d’une SPA, Auth0 prend en charge l’Implicit Grant (voir Implicit Grant)
  • La SPA et l’API doivent toutes deux être configurées dans le Auth0 Dashboard (voir Auth0 Configuration)
  • Les Permissions de l’utilisateur peuvent être imposées à l’aide de l’Authorization Extension (voir Configurer l’Authorization Extension)
  • L’API sera sécurisée en veillant à ce qu’un jeton d’accès valide soit transmis dans l’en-tête HTTP Authorization lorsque des requêtes sont envoyées à l’API (voir Implémenter l’API)
  • La bibliothèque Auth0.js peut être utilisée pour autoriser l’utilisateur de la SPA et obtenir un jeton d’accès valide pouvant servir à appeler l’API (voir Autoriser l’utilisateur)
  • La SPA peut transmettre le jeton d’accès dans l’en-tête HTTP Authorization lorsqu’elle envoie des requêtes à l’API (voir Appeler l’API)
  • La SPA peut afficher des éléments de l’interface de façon conditionnelle selon les scopes accordés à l’utilisateur (voir Afficher des éléments de l’interface de façon conditionnelle selon le scope)

Le contexte

ExampleCo est une jeune société de services-conseils. À l’heure actuelle, elle compte environ 100 employés et confie aussi plusieurs activités à des sous-traitants externes. Tous les employés et sous-traitants externes doivent remplir leurs feuilles de temps chaque semaine. L’entreprise a créé une application de feuilles de temps, un scénario que nous avons abordé dans Authentification unique pour les applications Web traditionnelles. Les employés l’utilisent pour remplir leurs feuilles de temps, mais l’entreprise souhaite la remplacer par une SPA. L’application servira à consigner les entrées de feuille de temps et à envoyer les données à la base de données centralisée des feuilles de temps au moyen de l’API. Elle permettra aussi aux gestionnaires d’approuver les entrées de feuille de temps.

Objectifs et exigences

ExampleCo veut mettre en place une solution flexible. Pour l’instant, seule une SPA est nécessaire pour saisir des entrées de feuille de temps, mais à l’avenir, l’entreprise prévoit lancer d’autres applications, comme une application mobile pour répondre aux besoins de ses équipes de vente. L’entreprise a donc décidé de développer une seule Timesheets API, qui servira à enregistrer le temps de travail non seulement pour ce processus côté serveur, mais aussi pour toutes les applications à venir. Elle veut mettre en place une architecture de sécurité suffisamment souple pour s’y adapter. ExampleCo veut s’assurer qu’une grande partie du code et de la logique d’affaires de l’application pourra être partagée entre les différentes applications. Seuls les utilisateurs et les applications autorisés doivent avoir accès à la Timesheets API. Deux types d’utilisateurs se serviront de cette SPA : les employés et les gestionnaires. Les employés doivent pouvoir consulter, créer et supprimer leurs propres entrées de feuille de temps, tandis que les gestionnaires doivent aussi pouvoir approuver les feuilles de temps.

En savoir plus