Skip to main content
Dans cette section, nous passerons en revue toute la configuration à appliquer dans l’Auth0 Dashboard.

Créer l’API

Accédez à la section APIs du tableau de bord, puis cliquez sur le bouton Créer une API. Vous devrez fournir les renseignements suivants pour votre API :
  • Nom : un nom descriptif pour l’API. Cela n’a aucune incidence sur son fonctionnement.
  • Identifiant : un identifiant unique pour l’API. Nous vous recommandons d’utiliser une URL, mais notez qu’elle n’a pas à être accessible publiquement ; Auth0 n’enverra aucune requête à votre API. Cette valeur ne peut pas être modifiée par la suite.
  •  : l’algorithme utilisé pour signer les jetons. Les valeurs possibles sont HS256 et RS256. Si vous sélectionnez RS256, le jeton sera signé à l’aide de la clé privée du tenant. Pour en savoir plus sur les algorithmes de signature, consultez Algorithmes de signature.
Tableau de bord - Applications - APIs - Créer une API - Fenêtre contextuelle
Remplissez les renseignements requis, puis cliquez sur le bouton Créer.

Configurer les scopes

Une fois l’application créée, vous devrez configurer les scopes que les applications peuvent demander lors de l’autorisation. Dans les paramètres de votre API, accédez à l’onglet Permissions. Dans cette section, vous pouvez ajouter les scopes pour notre cas d’utilisation : read:timesheetscreate:timesheetsdelete:timesheets et approve:timesheets.
Dashboard - Applications - APIs - Permissions

Créer l’Application

Il existe quatre types d’application dans Auth0 :
  • Application native (utilisée par les applis mobiles ou de bureau),
  • Application Web monopage,
  • Application Web traditionnelle et
  • Application Machine to Machine (utilisée par les CLI, les démons ou les services exécutés sur votre backend).
Dans ce scénario, nous voulons créer une nouvelle Application pour notre SPA; nous utiliserons donc Single-Page Application comme type d’application. Pour créer une nouvelle Application, accédez au dashboard et cliquez sur l’option du menu Applications à gauche. Cliquez sur le bouton + Create Application. Attribuez un nom à votre Application (nous utiliserons Timesheets SPA) et sélectionnez Application Web monopage comme type. Cliquez sur Create. C’est tout pour l’instant. Lorsque nous aurons terminé la mise en œuvre de la SPA, nous reviendrons au dashboard et aux paramètres de cette Application pour apporter quelques modifications à sa configuration.

Configurer l’Authorization Extension

Vous devrez vous assurer que l’Authorization Extension est installée dans votre tenant. Vous pouvez consulter la documentation de l’Authorization Extension pour savoir comment procéder.

Définir les Permissions

Vous allez maintenant définir les Permissions requises en fonction des scopes que vous avez déjà définis : read:timesheets, create:timesheets, delete:timesheets et approve:timesheets. Dans l’Authorization Extension, cliquez sur l’onglet Permissions, puis sur le bouton Create Permission. Dans la boîte de dialogue, saisissez les détails de chaque permission. Assurez-vous que le nom de la permission correspond exactement au scope associé :
Dashboard - Extensions - Authorization Extension - Create Permission
Créez ensuite les permissions pour tous les autres scopes restants :

Définir les rôles

Ensuite, configurons les deux Roles : Employee et Manager. Accédez à l’onglet Roles, cliquez sur le bouton Create Role, puis sélectionnez l’application Timesheets SPA. Définissez Name et Description sur Employee, puis sélectionnez les autorisations delete:timesheetscreate:timesheets et read:timesheets. Cliquez sur Save. Ensuite, suivez le même processus pour créer un rôle Manager, et assurez-vous d’avoir sélectionné toutes les autorisations.

Attribuer des rôles aux utilisateurs

Vous devez attribuer à tous les utilisateurs soit le rôle Manager, soit le rôle Employee. Pour ce faire, accédez à l’onglet Users dans l’Authorization Extension et sélectionnez un utilisateur. Dans l’écran d’information de l’utilisateur, accédez à l’onglet Roles. Cliquez sur Add Role to User, puis sélectionnez le rôle approprié.

Configurer l’Authorization Extension

Vous devrez aussi vous assurer que la Rule de l’Authorization Extension est publiée. Pour ce faire, cliquez sur votre avatar dans le coin supérieur droit de l’Authorization Extension, puis sélectionnez Configuration. Assurez-vous que Permissions est activé, puis cliquez sur Publish Rule.

Créer une Rule pour valider les scopes du token

La dernière étape de ce processus consiste à créer une Rule afin de vérifier si les scopes contenus dans un sont valides selon les permissions attribuées à l’utilisateur. Tout scope qui n’est pas valide pour un utilisateur doit être supprimé du jeton d’accès. Dans votre , accédez à l’onglet Rules. Vous devriez voir la Rule créée par l’Authorization Extension. Cliquez sur le bouton Create Rule et sélectionnez le template Empty Rule. Vous pouvez donner un nom à la Rule, par exemple Access Token Scopes, puis ajouter le code suivant à la Rule :
Le code ci-dessus garantit que tous les jetons d’accès ne contiendront que des scopes au format approprié (p. ex., action:area ou delete:timesheets) qui sont valides en fonction des autorisations d’un utilisateur. Une fois terminé, vous pouvez cliquer sur le bouton Enregistrer. Les Rules s’exécutent dans l’ordre où elles sont affichées sur la page Rules. Assurez-vous donc que la nouvelle règle que vous avez créée est placée sous la règle de l’Authorization Extension, afin qu’elle s’exécute après la règle Authorization Extension.