Nous utilisons JWT ( JSON Web Token ) pour authentifier notre application WordPress avec un service externe. Le flux actuel auquel nous pensons est le suivant:
- L'utilisateur se connecte sur le site parent
- Le site parent envoie une demande POST avec les informations utilisateur et le jeton JWT au site WordPress
- Le site WP stocke le jeton JWT
- L'expiration du jeton est vérifiée à chaque fois que l'utilisateur visite une nouvelle page, et si le jeton est expiré, l'utilisateur sera redirigé vers le site parent pour se reconnecter.
Mes questions:
- Est-ce la bonne approche?
- Comment puis-je stocker le jeton JWT? Un biscuit? Ou dans la base de données, avec les informations de l'utilisateur comme identifiant unique? Remarque: les utilisateurs ne seront pas enregistrés sur le site WP.
- Comment vérifier l'expiration?
Il y a un plugin WP pour JWT mais aucune documentation pour cela, donc je ne suis pas sûr s'il servira mon objectif.
authentication
single-sign-on
Rutwick Gangurde
la source
la source
Réponses:
Cela s'est présenté comme une notification en raison du vote positif. Voici comment je l'ai résolu.
wp_init
gestionnaire doit être utilisé pour gérer la demande POST envoyée par le point d'extrémité, pour extraire le jeton.Le point final peut être dans n'importe quelle langue. C'est également le flux général de celui-ci, vous pouvez l'utiliser où vous le souhaitez.
la source
L'activation de l'authentification unique dans WordPress m'a pris plus de 18 heures de lutte, mais pourrait ne prendre que quelques minutes:
Fondamentalement, vous voudrez utiliser https://wordpress.org/plugins/wp-force-login/ et une version modifiée de https://as.wordpress.org/plugins/jwt-authenticator/ , puis créer une authentification protégé sur votre site principal qui génère un JWT (JSON Web Token) et redirige vers l'URL spéciale de votre site WordPress.
Voir le code complet ici .
la source