
Partager:
Adam est un développeur et un consultant qui aime l'ultra-course, les blogs, et qui aide les autres à apprivoiser la technologie pour accomplir des choses étonnantes avec un désir insatiable de mentorat et d'aide.
AWS Cognito Verify avec PHP
Temps de lecture : 6 minutes
La gestion des utilisateurs dans les règles de l'art n'est pas une mince affaire. Permettre aux utilisateurs de s'enregistrer eux-mêmes et vérifier leur identité peut s'avérer difficile. Cependant, en utilisant Amazon Cognito et l Verify API de Vonage de Vonage permet de faciliter un peu les choses en faisant le gros du travail.
Avec quelques formulaires web, Vonage SDKde Vonage et le AWS SDKvous pouvez créer un système de gestion des utilisateurs standard permettant à un utilisateur de s'inscrire, de mettre à jour ses informations d'identification, de valider son identité et de se connecter. Vous utiliserez le code de la page Verify-aws-cognito-php .
NOTE : A des fins éducatives, l'exemple de code dans le repo ci-dessus est resté simple. Je n'ai pas utilisé de framework, de CSS ou de Javascript. Cependant, je recommande l'utilisation d'un framework supporté, et d'un style CSS approprié pour une meilleure application observant la bonne séparation des préoccupations.
Conditions préalables
PHP 7.4 (mise à jour
serverless.ymlpour les autres versions)Composer installé globalement
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Instructions d'installation
Clonez le fichier Verify-aws-cognito-php depuis GitHub, et naviguez dans le répertoire nouvellement créé pour continuer.
Installer les dépendances
Cet exemple nécessite l'utilisation de Composer pour installer les dépendances et configurer l'autoloader.
En supposant que Composer est installé globalementexécutez :
Configuration d'AWS
Cet exemple utilise les pools d'utilisateurs Amazon Cognito pour conserver les utilisateurs. J'ai créé un pool d'utilisateurs comme suit :
Naviguer vers le Tableau de bord Amazon Cognito dans la console AWS.
Sélectionner
Manage User Pools.Créer un nouveau pool d'utilisateurs.
Donnez un nom au pool et cliquez sur
Step through settingsSélectionnez
Email address or phone numberet choisissezAllow email addressesCliquez sur
Next stepDéfinir la longueur minimale du mot de passe et les paramètres de complexité souhaités
Veillez à
Allow users to sign themselves upCliquez sur
Next stepLaissez l'étape suivante telle quelle, pour cet exemple. Nous utiliserons Vonage pour le 2FA
Cliquez sur
Next stepSélectionnez un
FROM email address ARNdans la liste déroulante. Cela suppose que vous avez déjà créé une identité dans Amazon Simple Email Service(SES)Ajouter un
FROM email addresscomme vous le souhaitez.Ne modifiez pas le reste de cette page. Toutefois, je vous recommande de supprimer les points à la fin des messages électroniques. Cela permet d'éviter que le destinataire n'utilise par erreur le point comme élément du mot de passe temporaire.
Cliquez sur
Next stepSauter l'ajout de balises en cliquant sur
Next stepSauter des appareils en cliquant sur
Next stepCliquez sur le lien pour
Add an app clientDonner un nom au client de l'application
Décocher la case pour
Generate client secretVérifier les autres cases
Cliquez sur
Create app clientCliquez sur
Next stepSauter les déclencheurs en cliquant sur
Next stepCliquez sur
Create pool
Mise à jour de l'environnement
Renommez le fichier .env.default en .env et mettez à jour les valeurs si nécessaire :
Tous les espaces réservés notés par
<>dans l'exemple ci-dessus doivent être mis à jour. Mettez les autres à jour si nécessaire.
Lancer ou déployer
Testez l'application en l'exécutant localement avec le serveur web intégré PHP à l'aide de la commande :
Affichez la page d'atterrissage principale en allant sur http://localhost:8080 dans un navigateur web.
IMPORTANT : Bien que cette application fonctionne, elle est destinée à des fins éducatives et n'est pas prête à être utilisée par le public en l'état.
Fonctionnalité
Le déroulement de l'application est le suivant :
Depuis la page principale, cliquez sur
LoginouRegister.Après l'enregistrement (
user_register.php), l'utilisateur est redirigé vers une page de changement de mot de passe obligatoire. (login_reset.php) Il doit y utiliser le mot de passe temporaire qui lui a été envoyé par courrier électronique.Après avoir mis à jour le mot de passe temporaire, l'utilisateur est redirigé vers la page de connexion. (
login.php)Le login est l'endroit où un nouvel utilisateur ou un utilisateur existant peut se connecter.
Après avoir réussi à se connecter, l'utilisateur est redirigé vers la page de vérification 2FA. (
login_verify.php) Il y saisit le code à 6 chiffres envoyé à son numéro de téléphone portable.Une fois la vérification 2FA réussie, l'utilisateur est redirigé vers la page principale (
index.php) où il voit qu'il est maintenant connecté et qu'il a la possibilité de se déconnecter. (logout.php)
Prochaines étapes
Si vous avez des questions ou rencontrez des problèmes, vous pouvez contacter @VonageDev sur Twitter ou vous renseigner auprès de la Communauté Nexmo Slack de Nexmo. Nous vous souhaitons bonne chance.
