Authentifizierung zu deiner WordPress-Website mit Logto-Plugin hinzufügen
Dieses Tutorial zeigt dir, wie du Logto in deine WordPress Website mit unserem offiziellen WordPress-Plugin integrierst.
Voraussetzungen
- Ein Logto Cloud Konto oder ein selbst gehostetes Logto.
- Eine Logto traditionelle Anwendung erstellt.
- Ein WordPress-Projekt: Folge der offiziellen WordPress-Installationsanleitung, um deine WordPress-Website einzurichten, bevor du fortfährst.
Integration
Plugin installieren
Momentan wird unser Plugin noch überprüft und ist nicht im WordPress-Plugin-Verzeichnis verfügbar. Wir werden diese Seite aktualisieren, sobald es verfügbar ist.
- Über Upload
- Lade das Logto WordPress-Plugin von einem der folgenden Links herunter:
- Neueste Version: Lade die Datei herunter, deren Name im Format
logto-plugin-<version>.zip
ist.
- Neueste Version: Lade die Datei herunter, deren Name im Format
- Lade die Plugin-ZIP-Datei herunter.
- Gehe zu Plugins > Neu hinzufügen in deinem WordPress-Admin-Panel.
- Klicke auf Plugin hochladen.
- Wähle die heruntergeladene ZIP-Datei aus und klicke auf Jetzt installieren.
- Klicke auf Aktivieren.
Plugin konfigurieren
Nun solltest du das Logto-Menü in der Seitenleiste deines WordPress-Admin-Panels sehen können. Klicke auf Logto > Einstellungen, um das Plugin zu konfigurieren.
Du solltest eine traditionelle Web-Anwendung in der Logto Console erstellt haben, bevor du das Plugin konfigurierst. Wenn du noch keine erstellt hast, siehe Logto in deine Anwendung integrieren für weitere Informationen.
Die minimale Konfiguration, um mit dem Plugin zu starten, ist:
- Logto-Endpunkt: Der Endpunkt deines Logto-Tenants.
- App-ID: Die App-ID deiner Logto-Anwendung.
- App-Geheimnis: Eines der gültigen App-Geheimnisse deiner Logto-Anwendung.
Alle Werte findest du auf der Anwendungsdetailseite in der Logto Console.
Nachdem du die Werte eingegeben hast, klicke auf Änderungen speichern (scrolle nach unten, wenn du den Button nicht finden kannst).
Redirect-URI konfigurieren
Die Redirect-URI ist die URL, zu der Logto Benutzer nach der Authentifizierung weiterleitet; und die Post-Sign-out-Redirect-URI ist die URL, zu der Logto Benutzer nach dem Abmelden weiterleitet.
Hier ist ein nicht-normativer Sequenzdiagramm, um den Anmeldefluss zu veranschaulichen:
So sieht der Abmeldefluss in einem nicht-normativen Sequenzdiagramm aus:
Um mehr darüber zu erfahren, warum eine Weiterleitung erforderlich ist, siehe Anmeldeerfahrung erklärt.
In unserem Fall müssen wir beide Redirect-URIs in deiner Logto Console konfigurieren. Um die Redirect-URI zu finden, gehe zur Logto > Einstellungen-Seite in deinem WordPress-Admin-Panel. Du siehst die Felder Redirect URI und Post-Sign-out-Redirect URI.
- Kopiere die Werte Redirect URI und Post-Sign-out-Redirect URI und füge sie in die Felder Redirect URIs und Post-Sign-out-Redirect URIs in deiner Logto Console ein.
- Klicke auf Änderungen speichern in der Logto Console.
Checkpoint: Teste deine WordPress-Website
Jetzt kannst du deine Logto-Integration auf deiner WordPress-Website testen:
- Öffne ein Inkognito-Browserfenster, falls erforderlich.
- Besuche deine WordPress-Website und klicke auf den Anmelden-Link, falls zutreffend; oder besuche direkt die Anmeldeseite (z. B.
https://example.com/wp-login.php
). - Die Seite sollte dich zur Logto-Anmeldeseite weiterleiten.
- Schließe den Anmelde- oder Registrierungsprozess ab.
- Nach erfolgreicher Authentifizierung solltest du automatisch zurück zu deiner WordPress-Website weitergeleitet und eingeloggt werden.
- Klicke auf den Abmelden-Link, um dich von deiner WordPress-Website abzumelden.
- Du solltest zur Logto-Abmeldeseite und dann zurück zu deiner WordPress-Website weitergeleitet werden.
- Du solltest von deiner WordPress-Website abgemeldet sein.
Authentifizierungseinstellungen
Obwohl das Plugin sofort einsatzbereit ist, kannst du die Authentifizierungseinstellungen auf der Logto-Plugin-Einstellungsseite anpassen, um sie besser an deine Bedürfnisse anzupassen.
Berechtigungen
Logto verwendet Berechtigungen, um zu steuern, welche Informationen mit deiner Anwendung geteilt werden. Das Logto WordPress-Plugin verwendet das Logto PHP SDK, um den Authentifizierungsprozess zu handhaben, der standardmäßig die folgenden Berechtigungen umfasst:
openid
: Die grundlegende Berechtigung, die für OpenID Connect erforderlich ist.profile
: Um die grundlegenden Profilinformationen des Benutzers zu erhalten.offline_access
: Um ein Auffrischungstoken für den Offline-Zugriff zu erhalten.
Für weitere Informationen über Berechtigungen siehe Berechtigungen und Ansprüche.
Das Plugin fügt standardmäßig auch zwei zusätzliche Berechtigungen hinzu:
email
: Um die E-Mail-Adresse des Benutzers zu erhalten.roles
: Um die Rollen des Benutzers in Logto zu erhalten.
Diese beiden Berechtigungen werden verwendet, um Logto-E-Mail und -Rollen auf WordPress-E-Mail und -Rollen abzubilden. Du kannst die Berechtigungen anpassen, indem du das Berechtigungen-Feld in den Plugin-Einstellungen bearbeitest.
Wenn du die email
- oder roles
-Berechtigung entfernst, funktionieren einige Funktionen des Plugins möglicherweise nicht richtig.
Zusätzliche Parameter
Du möchtest möglicherweise einige zusätzliche Parameter zur Authentifizierungsanfrage hinzufügen, um den Authentifizierungsprozess anzupassen. Zum Beispiel kannst du den first_screen
-Parameter hinzufügen, um zu entscheiden, welcher Bildschirm zuerst im Authentifizierungsprozess angezeigt wird.
Für weitere Informationen über zusätzliche Parameter siehe Authentifizierungsparameter.
Verifizierte E-Mail erforderlich
Standardmäßig erfordert das Plugin, dass Benutzer eine verifizierte E-Mail-Adresse in Logto haben, um sich auf deiner WordPress-Website anzumelden. Wenn ein Benutzer versucht, sich ohne verifizierte E-Mail-Adresse anzumelden, wird das Plugin einen Fehler auslösen.
Du kannst diese Funktion deaktivieren, indem du die Option Verifizierte E-Mail erforderlich in den Plugin-Einstellungen deaktivierst.
Organisations-ID erforderlich
Du kannst verlangen, dass Benutzer eine bestimmte Organisationsmitgliedschaft in Logto haben, um sich auf deiner WordPress-Website anzumelden. Wenn eine Organisations-ID angegeben ist, überprüft das Plugin, ob der Benutzer die angegebene Organisations-ID in seinem ID-Token hat. Wenn nicht, wird ein Fehler ausgelöst.
Um mehr über Organisationen zu erfahren, siehe Organisationen.
Autorisierungseinstellungen
Neben der Authentifizierung bietet Logto auch Autorisierungsfunktionen wie rollenbasierte Zugangskontrolle (RBAC). Während es etwas benutzerdefinierten Code erfordert, um RBAC zu implementieren, wenn du deine eigene Anwendung entwickelst, bietet das Logto WordPress-Plugin eine integrierte Möglichkeit, Logto-Rollen auf WordPress-Rollen abzubilden.
Rollenabbildung
Das Logto WordPress-Plugin ermöglicht es dir, Logto-Rollen auf WordPress-Rollen abzubilden. Das bedeutet, dass du Benutzern in Logto verschiedene Rollen zuweisen kannst, und das Plugin wird diesen Benutzern beim Anmelden automatisch die entsprechenden WordPress-Rollen zuweisen.
Um Rollen abzubilden, klicke auf Hinzufügen im Abschnitt Rollenabbildung, um eine neue Rollenabbildung hinzuzufügen. Wenn du beispielsweise die group:editors
-Rolle in Logto auf die Editor
-Rolle in WordPress abbilden möchtest, kannst du dies tun, indem du eine neue Rollenabbildung mit den folgenden Werten hinzufügst:
- Logto-Rolle:
group:editors
- WordPress-Rolle:
editor
(der Rollenslug derEditor
-Rolle in WordPress)
Du findest die Rollenslugs aller WordPress-Rollen in der Rollen und Fähigkeiten Dokumentation.
Rollenslugs sind case-sensitive. Wenn du den Rollennamen wie Editor
anstelle von editor
eingibst, funktioniert die Rollenabbildung nicht.
Gehe nun zur Logto-Konsole und klicke im linken Seitenmenü auf Rollen. Erstelle eine neue Rolle mit dem Namen group:editors
und weise sie einem Benutzer zu. Melde dich dann mit diesem Benutzer auf deiner WordPress-Website an. Du solltest sehen, dass dem Benutzer die Editor
-Rolle in WordPress zugewiesen wurde.
Wenn der Benutzer sich bereits auf deiner WordPress-Website angemeldet hat, wird die Rollenabbildung erst wirksam, wenn der Benutzer sich abmeldet und erneut anmeldet.
Du kannst auch mehrere Rollenabbildungen hinzufügen, um mehrere Logto-Rollen auf WordPress-Rollen abzubilden. Im Moment versucht das Plugin, die Rollen in der Reihenfolge der Priorität abzubilden. Wenn du beispielsweise die folgenden Rollenabbildungen hast:
- Logto-Rolle:
group:editors
, WordPress-Rolle:editor
- Logto-Rolle:
group:authors
, WordPress-Rolle:author
- Logto-Rolle:
group:subscribers
, WordPress-Rolle:subscriber
Und ein Benutzer hat sowohl die group:editors
- als auch die group:authors
-Rollen in Logto, wird dem Benutzer die Editor
-Rolle in WordPress zugewiesen.
Erweiterte Einstellungen
Sitzung merken
Standardmäßig merkt sich das Plugin die Sitzung des Benutzers für 2 Wochen. Das bedeutet, dass wenn sich ein Benutzer auf deiner WordPress-Website anmeldet, er für 2 Wochen nicht erneut zur Anmeldung aufgefordert wird. Du kannst diese Zeit auf 2 Tage reduzieren, indem du die Option Sitzung merken in den Plugin-Einstellungen deaktivierst.
Profil synchronisieren
Standardmäßig synchronisiert das Plugin das Benutzerprofil bei jedem Login. Das bedeutet, dass wenn sich ein Benutzer auf deiner WordPress-Website anmeldet, sein Profil mit den neuesten Informationen von Logto aktualisiert wird. Du kannst diese Funktion deaktivieren, indem du die Option Profil synchronisieren in den Plugin-Einstellungen deaktivierst.
Wenn du diese Funktion deaktivierst, wird die Rollenabbildung nur wirksam, wenn sich der Benutzer zum ersten Mal anmeldet.
WordPress-Formularanmeldung
Standardmäßig kannst du ?form=1
an die WordPress-Anmelde-URL anhängen, um die WordPress-Formularanmeldung zu verwenden. Dies ist nützlich für Testzwecke, aber du kannst diese Funktion deaktivieren, wenn du nicht möchtest, dass Benutzer sich mit dem WordPress-Formular anmelden.
Benutzernamen-Strategie
Es gibt mehrere Möglichkeiten, einen Benutzernamen für einen Benutzer in WordPress zu generieren. Es ist sicher, die Standardstrategie zu verwenden, wenn du dich auf die E-Mail als eindeutigen Identifikator eines Benutzers verlässt.
Fehlerbehebung
Callback-URL zeigt 404
Wenn die Callback-URL einen 404-Fehler anzeigt, ist es wahrscheinlich, dass deine WordPress-Umschreiberegeln veraltet sind und manuell aktualisiert werden müssen. Gehe dazu zu Einstellungen > Permalinks in deinem WordPress-Admin-Panel (oder besuche /wp-admin/options-permalink.php
direkt) und klicke auf Änderungen speichern.
Häufig gestellte Fragen
Wie kann ich den Passwort-vergessen-Flow auslösen?
Es gibt zwei Möglichkeiten, den Passwort-vergessen-Flow auszulösen:
- Klicke auf den Passwort-vergessen-Link auf der Logto-Anmeldeseite.
- Hänge
?action=lostpassword
an die WordPress-Anmelde-URL an. Zum Beispiel,https://example.com/wp-login.php?action=lostpassword
. Dies wird dich zur Logto Passwort-vergessen-Seite weiterleiten.
Wie kann ich die WordPress-Formularanmeldung verwenden?
Standardmäßig kannst du ?form=1
an die WordPress-Anmelde-URL anhängen, um die WordPress-Formularanmeldung zu verwenden. Zum Beispiel, https://example.com/wp-login.php?form=1
.
Wenn du diese Funktion deaktivieren möchtest, kannst du die Option WordPress-Formularanmeldung in den Plugin-Einstellungen deaktivieren.