
Teilen Sie:
Adam ist ein Entwickler und Berater, der gerne Ultraläufe absolviert, bloggt und anderen dabei hilft, Technologien zu zähmen, um erstaunliche Dinge zu erreichen, und der ein unstillbares Verlangen hat, Mentoren zu sein und zu helfen.
AWS Cognito Verify mit PHP
Lesedauer: 6 Minuten
Die richtige Benutzerverwaltung ist harte Arbeit. Es kann schwierig sein, den Benutzern zu erlauben, sich selbst zu registrieren und ihre Identität zu verifizieren. Die Verwendung von Amazon Cognito und der Vonage Verify API machen es jedoch ein wenig einfacher, indem sie die schwere Arbeit übernehmen.
Mit ein paar Webformularen, Vonage SDKund AWS SDKkönnen Sie ein Standard-Benutzerverwaltungssystem erstellen, das es einem Benutzer ermöglicht, sich zu registrieren, seine Anmeldedaten zu aktualisieren, seine Identität zu überprüfen und sich anzumelden. Sie verwenden den Code aus dem verify-aws-cognito-php Code-Repositorium.
HINWEIS: Zu Lehrzwecken wurde der Beispielcode im obigen Repo einfach gehalten. Ich habe weder ein Framework noch CSS oder Javascript verwendet. Ich empfehle jedoch die Verwendung eines unterstützten Frameworks und eine korrekte CSS-Gestaltung für eine bessere Anwendung unter Beachtung der korrekten Trennung von Belangen.
Voraussetzungen
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
Anweisungen zur Einrichtung
Klonen Sie die verify-aws-cognito-php von GitHub, und navigieren Sie in das neu erstellte Verzeichnis, um fortzufahren.
Abhängigkeiten installieren
Dieses Beispiel erfordert die Verwendung von Composer, um Abhängigkeiten zu installieren und den Autoloader einzurichten.
Angenommen, Sie haben Composer global installiert habenausführen:
AWS-Einrichtung
Dieses Beispiel verwendet Amazon Cognito User Pools, um Benutzer zu speichern. Ich habe einen Benutzerpool wie folgt eingerichtet:
Navigieren Sie zum Amazon Cognito Dashboard in der AWS-Konsole.
Wählen Sie
Manage User Pools.Erstellen Sie einen neuen Benutzerpool.
Geben Sie dem Pool einen Namen, und klicken Sie auf
Step through settingsWählen Sie
Email address or phone numberund wählen SieAllow email addressesKlicken Sie auf
Next stepLegen Sie die minimale Passwortlänge und die gewünschte Komplexität fest.
Stellen Sie sicher, dass
Allow users to sign themselves upKlicken Sie auf
Next stepLassen Sie den nächsten Schritt für dieses Beispiel unverändert. Wir werden Vonage für 2FA verwenden
Klicken Sie auf
Next stepWählen Sie eine
FROM email address ARNaus der Dropdown-Liste. Dies setzt voraus, dass Sie bereits eine Identität in Amazon Simple Email Service(SES)Hinzufügen einer
FROM email addresswie gewünscht.Lassen Sie den Rest dieser Seite unverändert. Ich empfehle Ihnen jedoch, die nachgestellten Punkte aus den E-Mail-Nachrichten zu entfernen. Dadurch wird verhindert, dass der Empfänger den Punkt fälschlicherweise als Teil des vorläufigen Passworts verwendet.
Klicken Sie auf
Next stepÜberspringen Sie das Hinzufügen von Tags, indem Sie auf
Next stepGeräte überspringen durch Klicken auf
Next stepKlicken Sie auf den Link zu
Add an app clientGeben Sie dem App-Client einen Namen
Deaktivieren Sie das Kontrollkästchen, um
Generate client secretKreuzen Sie die restlichen Kästchen an
Klicken Sie auf
Create app clientKlicken Sie auf
Next stepAuslöser überspringen durch Klicken auf
Next stepKlicken Sie auf
Create pool
Update Umwelt
Benennen Sie die mitgelieferte .env.default Datei in .env und aktualisieren Sie die Werte nach Bedarf:
Alle Platzhalter, die mit
<>im obigen Beispiel gekennzeichneten Platzhalter müssen aktualisiert werden. Aktualisieren Sie die anderen nach Bedarf.
Starten oder Einsetzen
Testen Sie die Anwendung, indem Sie sie lokal mit dem in PHP integrierten Webserver mit dem folgenden Befehl ausführen:
Rufen Sie die wichtigste Landing Page auf, indem Sie die Seite http://localhost:8080 in einem Webbrowser aufrufen.
WICHTIG: Obwohl diese App funktioniert, ist sie für Bildungszwecke gedacht und kann in der vorliegenden Form nicht öffentlich genutzt werden.
Funktionsweise
Der Ablauf der Anwendung ist wie folgt:
Klicken Sie auf der Hauptseite entweder auf
LoginoderRegister.Nach der Registrierung (
user_register.php) wird der Nutzer auf eine Seite weitergeleitet, auf der er sein Passwort ändern muss. (login_reset.php) Hier sollte er das vorläufige Passwort verwenden, das er per E-Mail erhalten hat.Nach der Aktualisierung des vorläufigen Passworts wird der Benutzer zur Anmeldeseite weitergeleitet. (
login.php)Die Anmeldung ist der Ort, an dem sich ein neuer Benutzer oder ein bestehender Benutzer anmelden kann.
Nach erfolgreicher Anmeldung wird der Benutzer auf die 2FA-Verifizierungsseite weitergeleitet. (
login_verify.php) Hier gibt er den 6-stelligen Code ein, der an seine Handynummer geschickt wurde.Nach erfolgreicher 2FA-Verifizierung wird der Benutzer wieder auf die Hauptseite weitergeleitet (
index.php) weitergeleitet, wo er sieht, dass er nun angemeldet ist und die Möglichkeit hat, sich abzumelden. (logout.php)
Nächste Schritte
Wenn Sie Fragen haben oder Probleme auftreten, können Sie sich an @VonageDev auf Twitter oder in der Nexmo-Gemeinschaft Slack-Team. Viel Glück!
