Das Laravel OAuth Single Sign-On (SSO)-Plugin ermöglicht die Aktivierung von OAuth Single Sign-On für Ihre Laravel-Anwendungen. Mit Single Sign-On benötigen Sie nur ein Passwort für den Zugriff auf Ihre Laravel-Anwendung und -Dienste. Unser Plugin ist mit allen OAuth-konformen Identitätsanbietern kompatibel. In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie Single Sign-On (SSO) zwischen Laravel und AWS Cognito konfigurieren, wobei AWS Cognito als OAuth-Anbieter dient. Weitere Informationen zu den Funktionen unseres Laravel OAuth-Client-Plugins „single-sign-on-sso“ finden Sie hier.
Installation des Laravel OAuth-Client-Pakets
- Öffnen Sie ein Eingabeaufforderungsfenster und ändern Sie das Arbeitsverzeichnis in Ihr Das Hauptverzeichnis der Laravel-App.
- Geben Sie den folgenden Befehl ein.
composer require miniorange/oauth-laravel-free
- Gehen Sie nach erfolgreicher Installation des Pakets im Browser zu Ihrer Laravel-App und geben Sie ein
{laravel-application-domain}/mo_oauth_admin
- Das Paket beginnt mit der Einrichtung Ihrer Datenbank und leitet Sie dann zur Administrator-Registrierungsseite weiter.
- Registrieren Sie sich oder melden Sie sich mit Ihrem miniOrange-Konto an, um das Plugin zu konfigurieren.
- Nach der Anmeldung sehen Sie die OAuth-Anbietereinstellungen Option, bei der Sie die Weiterleitungs-/Rückruf-URL erhalten. Halten Sie es griffbereit, da es später für die Konfiguration des AWS cognito Single Sign-On SSO-Plugins benötigt wird.
Schritte zum Konfigurieren der AWS cognito Single Sign-On (SSO)-Anmeldung bei Laravel
1. Konfigurieren Sie AWS Cognito als OAuth-Anbieter
- Gehen Sie zunächst zu Amazon-Konsole und registrieren/melden Sie sich in Ihrem Konto an, um AWS Cognito zu konfigurieren.
- Suchen Sie nach Cognito in England, AWS-Services Suchleiste wie unten gezeigt.
- Klicken Sie auf Benutzerpools verwalten Klicken Sie auf die Schaltfläche, um die Liste Ihrer Benutzerpools anzuzeigen.
- Klicken Sie auf Erstellen Sie einen Benutzerpool um einen neuen Benutzerpool zu erstellen.
- Hinzufügen Poolname und klicken Sie auf Überprüfen Sie die Standardeinstellungen um fortzufahren.
- Scrollen Sie nach unten und klicken Sie auf „App-Client hinzufügen“ & dann erneut auf klicken Fügen Sie einen App-Client hinzu.
- Geben Sie ein ein App-Clientname und klicken Sie auf App-Client erstellen um einen App-Client zu erstellen.
- Klicken Sie auf Zurück zu den Pooldetails um zu Ihrer Konfiguration zurückzukehren.
- Klicken Sie auf Pool erstellen Klicken Sie auf die Schaltfläche, um Ihre Einstellungen zu speichern und einen Benutzerpool zu erstellen.
- Klicken Sie in der Navigationsleiste auf der linken Seite auf App-Client-Einstellungen Option unter dem App-Integration Menü.
- Aktivieren Sie den Identitätsanbieter als Cognito-Benutzerpool und geben Sie Ihr ein Rückruf-/Umleitungs-URL die Sie von Ihrem Laravel-OAuth-Paket erhalten, das unter der aufgeführt ist Weiterleitungs-/Rückruf-URLs Textfeld. Wählen Erteilung des Autorisierungscodes Kontrollkästchen unter Zulässige OAuth-Flows und auch auswählen openid und profile Kontrollkästchen unter dem Zulässige OAuth-Bereiche Option (siehe Bild unten). Klick auf das Änderungen speichern Klicken Sie auf die Schaltfläche, um Ihre Konfigurationen zu speichern.
- Klicken Sie auf Domainnamen wählen Option zum Festlegen eines Domänennamens für Ihre App.
- Zurück Nach Domainnamen und geben Sie einen Domänennamen für Ihre App ein. Nachdem Sie den Domainnamen hinzugefügt haben, können Sie dessen Verfügbarkeit überprüfen, indem Sie auf klicken "Verfügbarkeit prüfen" Taste. Nachdem Sie einen gültigen Domänennamen eingegeben haben, klicken Sie auf "Änderungen speichern" .
- Vollständiger Domainname: Kopieren Sie den vollständigen Domainnamen {Ihr Domainname}.auth.{Regionsname}.amazoncognito.com. Sie müssen dies in das Feld „Endpunkte“ unten eingeben im Laravel OAuth Single Sign-On (SSO)-Paket.
- Zurück Nach „App-Client“ und klicken Sie auf "Zeige Details" um eine Client-ID und ein Client-Geheimnis zu erhalten. (Halten Sie die Kunden-ID und das Kundengeheimnis griffbereit, da Sie diese später benötigen werden.)
- Klicken Sie auf Benutzer und Gruppen Option unter dem Allgemeine Einstellungen Menü in der linken Navigationsleiste. Klicken Sie dann auf Benutzer erstellen Schaltfläche, um einen neuen Benutzer hinzuzufügen.
- Füllen Sie alle erforderlichen Angaben aus und klicken Sie auf Benutzer erstellen.
- Sie können den neu erstellten Benutzer sehen.
2. Konfigurieren Sie das Laravel OAuth-Plugin als OAuth-Client
- Gehen Sie zur miniOrange Laravel OAuth SSO Paket und klicken Sie auf Wählen Sie Cognito als OAuth-Anbieter.
- Geben Sie die Kunden-ID und Kundengeheimnis von AWS Cognito App-Client Tab.
- Informationen zur Konfiguration finden Sie in der folgenden Tabelle Geltungsbereich und Endpunkte Andernfalls werden nach Auswahl des Cognito-Bereichs und der Endpunkte automatisch die entsprechenden Felder hinzugefügt:
| Umfang: |
openid |
| Endpunkt autorisieren: |
https://<cognito-app-domain>/oauth2/authorize |
| Zugriffstoken-Endpunkt: |
https://<cognito-app-domain>/oauth2/token |
| UserInfo-Endpunkt abrufen: |
https://<cognito-app-domain>/oauth2/userInfo |
- Sie können die Anmeldeinformationen des Kunden einsenden Kopfzeile und senden Zustand Parameter entsprechend ebenfalls eintragen Login-Attribut Wie von Ihnen erbeten.
- Klicken Sie auf Einstellungen speichern Taste. Klicken Sie anschließend auf Testkonfiguration Taste. Sie erhalten die Liste der Attributnamen und Attributwerte, die von Ihrem OAuth-Anbieter gesendet werden
3. SSO-Optionen
- Sie können sich auch über einen Link über Ihren OAuth/OpenID-Anbieter anmelden.
- Dieser Link hat das folgende Format:
{laravel-application-domain}/ssologin.php?option=oauthredirect
4. Support / Demo
- Unterstützung und Test-/Demo-Anfrage Für Kunden stehen Registerkarten zur Verfügung, die sie für Demos und Support kontaktieren können.
In dieser Anleitung haben Sie AWS Cognito Single Sign-On (SSO) erfolgreich mit Laravel als OAuth-Client konfiguriert. Diese Lösung stellt sicher, dass Sie innerhalb weniger Minuten einen sicheren Zugriff auf Ihre Laravel-Website mit Ihren AWS Cognito- Anmeldedaten einrichten können.
Weitere Informationen