Par Alex Bedley – Septembre 1, 2016
Mis à jour le 4 février 2021
À qui s’adressent les jetons d’actualisation OAuth 2.0 ?
Cet article est d’intérêt pour les développeurs qui créent des applications qui interagissent avec les API Brightspace au nom de leurs utilisateurs. Cette méthode d’authentification n’est recommandée que si votre application est sans tête (non basée sur un navigateur).
Qu’est-ce qu’un jeton d’actualisation OAuth 2.0 ?
Dans le cadre des bonnes pratiques de sécurité, les jetons d’accès (jetons qui vous permettent de vous authentifier auprès des API Brightspace) expirent après une courte période. Cela crée un problème, car les applications auront maintenant besoin d’un moyen d’obtenir fréquemment de nouveaux jetons d’accès. Les jetons d’actualisation résolvent ce problème.
Les jetons d’actualisation sont des jetons à usage unique émis à des applications tierces par le service d’autorisation. L’application stocke ce jeton d’actualisation jusqu’à l’expiration du jeton d’accès associé. Les jetons d’actualisation peuvent ensuite être échangés contre un nouveau jeton d’accès et un nouveau jeton d’actualisation. Les jetons d’actualisation (et les jetons d’accès) doivent être traités comme des mots de passe.
Comment puis-je obtenir un jeton d’actualisation OAuth 2.0 ?
Les sections suivantes expliqueront en détail comment :
- Télécharger l’exemple d’application qui guide les utilisateurs à travers le flux OAuth 2.0
- Enregistrer l’application avec Brightspace
- Obtenir le consentement de l’utilisateur pour permettre à l’exemple d’application d’accéder aux API Brightspace au nom de l’utilisateur
- Acquérir un jeton d’actualisation (et un jeton d’accès) pour cet utilisateur
Télécharger l’exemple d’application
L’exemple d’application, une fois enregistré, vous permettra de parcourir le flux OAuth 2.0 d’une manière conviviale. Il est utile pour comprendre comment obtenir des jetons d’actualisation et peut également être utilisé lors du test de vos applications. Il est recommandé d’exécuter l’application localement.
Exécuter localement
Pour exécuter localement, vous devez avoir <a href=" »" target="_blank">node</a> et npm installé.
- Cloner le dépôt :
https://github.com/neverendingqs/oauth2-client-shell
- Installez les dépendances :
npm install - Démarrez l’application :
npm run dev - Accédez à https://localhost:3001/
- Votre navigateur peut se plaindre des certificats SSL à ce stade (« Votre connexion n’est pas sécurisée ») car l’application utilise un certificat auto-signé. Dans ce cas, puisque vous l’hébergez localement, nous pouvons ignorer ces avertissements en toute sécurité.
Enregistrement de l’application auprès de Brightspace
Pour effectuer les étapes suivantes, le lecteur doit disposer d’un accès administrateur (ou connaître quelqu’un disposant d’un accès administrateur) à son instance Brightspace.
- Accédez à Gérer l’extensibilité dans le menu Outils d’administration.
- Cliquez sur le bouton OAuth 2.0 onglet.
- Cliquez sur le bouton Enregistrer une application bouton.
- Remplissez les détails requis :
- Pour obtenir le URI de redirection, examinez la valeur de l' Rediriger l’URI dans l’exemple d’interface utilisateur de l’application. Si vous hébergez l’exemple d’application localement, URI de redirection devrait être https://localhost:3001/.
- Pour l' Portée champ, utilisation
core:*:*. - Assurez-vous que Activer les jetons d’actualisation est cochée.
- Cliquez sur le bouton S’inscrire bouton.
- Obtenir le ID client et Client Secret pour l’application que vous venez d’enregistrer.
Obtenir le consentement de l’utilisateur
Avant de pouvoir obtenir un jeton d’actualisation pour un utilisateur, cet utilisateur doit autoriser votre application à accéder aux API Brightspace en son nom.
- Dans l’exemple d’application, remplissez les champs suivants :
- Cliquez sur le bouton Obtenir le code d’autorisation bouton.
- La page vous redirigera pour vous connecter à votre instance Brightspace (si vous n’êtes pas déjà connecté).
- Une fois que vous êtes connecté, cliquez sur le bouton Accepter .
- Brightspace devrait vous rediriger vers l’exemple d’application.
Dans cette section, nous avons obtenu le consentement d’un utilisateur et obtenu un Code d’autorisation. Nous en aurons besoin Code d’autorisation pour obtenir un jeton d’actualisation pour l’utilisateur.
Acquérir un jeton d’actualisation
Maintenant que nous avons notre Code d’autorisation nous pouvons échanger cela contre un jeton d’accès et d’actualisation. Dans la suite de la section précédente :
L’exemple d’application doit s’être ouvert automatiquementla section Jeton d’accès (et d’actualisation) via le Code d’autorisation de l’application et rempli le Code d’autorisation champ.
Renseignez les champs suivants :
Figure : L' OAuth Client Shell.
Cliquez sur le bouton Échanger le Code d’autorisation bouton.
Vous avez maintenant obtenu avec succès un jeton d’actualisation !
Que devons-nous faire maintenant ?
Cet article vous a montré comment obtenir un jeton d’actualisation à l’aide d’un exemple d’application. Dans votre application de production, vous stockerez ce jeton d’actualisation et le jeton d’accès associé en toute sécurité. Le jeton d’accès vous permet d’accéder aux API Brightspace au nom d’un utilisateur ayant donné son consentement.
Les jetons d’actualisation sont de longue durée, mais à usage unique : vous ne pouvez pas réutiliser un jeton d’actualisation pour demander un nouveau jeton d’accès. Au lieu de cela, vous les utilisez une fois, et vous devriez récupérer un nouveau jeton d’accès et un nouveau jeton d’actualisation (que vous utiliserez plus tard pour un flux de travail ultérieur de jeton d’actualisation).
Les développeurs d’applications doivent faire attention aux délais d’expiration des jetons : les jetons d’accès ont un court délai d’expiration ; les jetons d’actualisation ont une longue durée de vie. Afin d’utiliser avec succès le flux de travail de jeton d’actualisation encore et encore pour garder l’accès de l’application à jour, ils doivent s’assurer qu’ils s’engagent dans ce flux de travail d’actualisation avant que le jeton d’actualisation n’expire (à chaque fois qu’ils tentent d’actualiser).
Extension d’apprentissage : Accéder au cours gratuit
Brightspace Les clients peuvent accéder à un cours gratuit sur la prise en main de l’API Brightspace, dans le Centre d’apprentissage.
Cours d’accès : Apprenez Postman avec Paul
*L’accès au Centre d’apprentissage est fourni aux instructeurs et aux administrateurs qui utilisent actuellement Brightspace. Vous devez être connecté à la communauté avec l’adresse électronique de votre école ou organisation pour vérifier votre accès au contenu freemium et premium du Centre d’apprentissage.
Figure : exemple d’image d’application OAuth2.
Figure : Exemple d’enregistrement d’une application.