- Auth0 fournit l’authentification et l’autorisation API comme moyen de sécuriser l’accès aux points de terminaison API (voir API Authentification and authorisation )
- Pour autoriser un utilisateur d’une SPA, Auth0 recommande l’utilisation du flux de code d’autorisation avec PKCE (voir Authorization Code Flow with PKCE) pour plus d’informations.* L’application à page unique (SPA) et l’API doivent être configurées dans Auth0 Dashboard (voir Auth0 Configuration)
- Les autorisations des utilisateurs peuvent être appliquées à l’aide de l’extension d’autorisation (voir Configure the 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 d’autorisation HTTP lors des appels à l’API (voir Implement the API)
- La bibliothèque Auth0.js peut être utilisée pour autoriser l’utilisateur de l’application à page unique (SPA) et obtenir un jeton d’accès valide pouvant être utilisé pour appeler l’API (voir Authorize the User)
- L’application à page unique (SPA) peut transmettre le jeton d’accès dans l’en-tête d’autorisation HTTP lors de l’appel à l’API (voir Call the API)
- L’application à page unique (SPA) peut afficher des éléments d’interface utilisateur de manière conditionnelle en fonction des permissions accordées à l’utilisateur (voir Display UI Elements Conditionally Based on Scope) :::
Applications à page unique (SPA) avec API
Explique le scénario d’architecture dans lequel une application à page unique (SPA) communique avec une API en utilisant OpenID Connect (OIDC) et le flux d’autorisation implicite OAuth 2.0, pour authentifier les utilisateurs avec Auth0.
Dans ce scénario, nous allons créer une API de feuilles de temps pour une entreprise fictive appelée ExampleCo. L’API permettra d’ajouter des entrées de feuilles de temps pour un employé ou un entrepreneur.
Nous construirons également une application à page unique (SPA) qui sera utilisée pour enregistrer les entrées des feuilles de temps et les envoyer à la base de données centralisée des feuilles de temps à l’aide de l’API.
::: Panneau TLDR