Wir verwenden JWT ( JSON Web Token ) zur Authentifizierung unserer WordPress-Anwendung bei einem externen Dienst. Der aktuelle Fluss, an den wir denken, ist wie folgt:
- Der Benutzer meldet sich auf der übergeordneten Site an
- Die übergeordnete Site sendet eine POST-Anfrage mit den Benutzerinformationen und dem JWT-Token an die WordPress-Site
- Die WP-Site speichert das JWT-Token
- Das Token wird jedes Mal, wenn der Benutzer eine neue Seite besucht, auf Ablauf überprüft. Wenn das Token abgelaufen ist, wird der Benutzer zur erneuten Anmeldung zur übergeordneten Site umgeleitet.
Meine Fragen:
- Ist das der richtige Ansatz?
- Wie speichere ich das JWT-Token? Ein Keks? Oder in der Datenbank mit den Benutzerinformationen als eindeutiger Kennung? Hinweis: Die Benutzer werden nicht auf der WP-Site registriert.
- Wie überprüfe ich den Ablauf?
Es gibt ein WP-Plugin für JWT, aber keine Dokumentation dafür, daher bin ich mir nicht sicher, ob es meinen Zweck erfüllen wird.
authentication
single-sign-on
Rutwick Gangurde
quelle
quelle
Antworten:
Dies zeigte sich als Benachrichtigung aufgrund der positiven Abstimmung. So habe ich es gelöst.
wp_init
Handler sollte verwendet werden, um die vom Endpunkt gesendete POST-Anforderung zu verarbeiten und das Token zu extrahieren.Der Endpunkt kann in einer beliebigen Sprache sein. Auch dies ist der allgemeine Ablauf, Sie können es verwenden, wo immer Sie wollen.
quelle
Das Aktivieren von Single-Sign-On in WordPress hat mehr als 18 Stunden gedauert, aber möglicherweise nur wenige Minuten:
Grundsätzlich sollten Sie https://wordpress.org/plugins/wp-force-login/ und eine modifizierte Version von https://as.wordpress.org/plugins/jwt-authenticator/ verwenden und dann eine Authentifizierung erstellen -geschützter Endpunkt auf Ihrer Hauptwebsite, der ein JWT (JSON Web Token) generiert und zur speziellen URL Ihrer WordPress-Site zurückleitet.
Den vollständigen Code finden Sie hier .
quelle