Cette fonctionnalité utilise la délégation. Par défaut, la délégation est désactivée pour les locataires sans module complémentaire en cours d’utilisation depuis le 8 juin 2017. Les anciens locataires qui utilisent actuellement un module complémentaire nécessitant une délégation peuvent continuer à utiliser cette fonction. Si la fonctionnalité de délégation est modifiée ou supprimée à un moment donné, les clients qui l’utilisent seront informés à l’avance et disposeront d’un délai suffisant pour migrer. Par ailleurs, notez que la délégation ne prend pas en charge l’utilisation de domaines personnalisés, si bien que toutes les fonctionnalités qui en dépendent risquent de ne pas être pleinement fonctionnelles avec un domaine personnalisé.
Étape 3 – Création de l’application
Au cours de cette étape, vous allez créer une application à page unique sans serveur en utilisant le cadre d’applications AngularJS, que vous déploierez à partir d’un groupe AWS S3 configuré pour fonctionner comme un site Web statique.1. Configurez votre exemple d’application
Pour une application de démarrage simple, téléchargez un exemple de projet propre à ce tutoriel. Connectez-vous pour que vos identifiants Auth0 soient préconfigurés. Copiez le contenu de ce projet de démarrage dans un dossier local nommépets
, que vous utiliserez pour le reste de ce tutoriel. Dans ce dossier, mettez à jour auth0-variables.js
avec votre application Auth0 AUTH0_CLIENT_ID
et AUTH0_CLIENT_ID
(ces informations sont accessibles dans le Management Dashboard pour l’application en question).
Groupe AWS S3
Assurez-vous que vous avez créé le groupe AWS S3 configuré pour agir comme un site Web statique. Pendant le processus d’installation, copiez le contenu du dossierpets
dans votre groupe S3 pour fournir du contenu au site Web.
Si vous utilisez un groupe existant, vous pouvez déplacer les fichiers à l’aide de l’interface de ligne de commande AWS en exécutant la commande suivante.
http://your-bucket.s3-website-us-east-1.amazonaws.com
Si vous ne savez pas quelle est votre URL, vous pouvez la trouver sous l’onglet Propriétés de votre groupe S3.
Avant d’aller plus loin, effectuez un test de connexion à votre application. Ouvrez http://your-bucket-domain/index.html
dans votre navigateur. Après vous être connecté, vous devriez voir une boîte d’alerte indiquant « getPets non implémenté » :
La page qui vous permet de visualiser les animaux de compagnie, s’affiche également.
Utiliser la délégation pour obtenir un jeton AWS
À ce stade, vous avez configuré l’authentification avec Auth0 et vous disposez d’un . Voici la structure du répertoire pour le code généré :
pets/login/login.js
comme suit afin d’obtenir un jeton de délégation AWS à partir du jeton d’identité après une connexion réussie avec auth.signin
. Veuillez noter que tout utilisateur non connecté utilisant une connexion sociale est traité comme un administrateur. Plus tard, nous coderons un deuxième rôle et montrerons de meilleures façons d’appliquer la sélection de rôle.
Modifier les chaînes role et principal
Pour modifier les chaînesrole
et principal
(qui sont les deux dernières lignes de la déclaration if
contenue dans la fonction fournie), spécifiez les valeurs appropriées via Règles :
role
et [principal]
avec celles de votre intégration.
Copiez les fichiers mis à jour dans votre groupe S3 pour votre site Web.
En option, vous pouvez définir un point d’arrêt dans le navigateur à store.set(’awstoken’, delegation.Credentials);
. Lorsque vous vous déconnectez et vous vous reconnectez, inspectez delegation.Credentials
quand vous arrivez au point d’arrêt. Vous constaterez des valeurs familières comme AccessKeyId et SecretAccessKey :
Afficher les animaux de compagnie avec le service API AWS
La première étape consiste à présenter les animaux de compagnie aux utilisateurs finaux.Ajoutez le code API pour appeler votre API
Pour ajouter le code API permettant d’effectuer un appel à votre service, copiez le contenu de apiGateway-js-sdk.zip, que vous avez précédemment téléchargé, dans le répertoirepets
. Le contenu doit inclure :
apiClient.js
;- dossier
lib
; README.md
.
README.md
dans le répertoire pets
, vous devrez donc renommer l’un des fichiers afin de conserver les deux dans le même répertoire. Le fichier README.md
pour la passerelle API explique comment utiliser l’application API à partir de votre application Auth0.
Ouvrez le fichier index.html
situé à la racine de votre dossier pets
, pour ajouter tous les scripts répertoriés en haut du fichier readme de l’API à index.html
:
apigClient.js
, vous pouvez constater que la bibliothèque téléchargée a créé des enveloppeurs comme petsPost
et petsGet
, pour vos méthodes API. Vous n’avez pas besoin de modifier ce code généré.
Configurer la méthode getPets
Ouvrez le fichierhome.js
dans le dossier home
et mettez à jour le contenu de getPets
avec une méthode de récupération des données sur les animaux de compagnie (assurez-vous de mettre à jour la région si l’exécution n’a pas lieu dans us-east-1
) :
Mettre à jour les animaux de compagnie avec le service API AWS
Maintenant que vous disposez d’une application Auth0 fonctionnelle avec la passerelle API, vous pouvez ajouter une méthode pour mettre à jour le tableaupets
.
Modifier la logique de la méthode putPets
pour mettre à jour les animaux de compagnie à l’aide de la fonction API. Cette fonction sera utilisée à la fois pour ajouter et supprimer des animaux de compagnie.
- Déconnectez-vous et reconnectez-vous.
- Saisissez les valeurs pour
Pet Type
etPet Price
. - Cliquez sur Enregistrer pour publier vos données.
<Pet Type>
for sale for <Pet Price>
», s’affiche avec un bouton rouge RETIRER sur la gauche.
Pour ajouter de la sécurité, ajoutez la fonction getSecureApiClient
au début de la méthode putPets
:
getSecureApiClient
fournie pour vous vous permettra de récupérer le jeton AWS à partir du stockage local acquis à l’aide de la délégation à l’API et utilise la clé d’accès, le secret et le jeton de session :