J'ai un site Web dans WordPress, mais je dois en créer un autre dans un autre cadre (ASP.NET).
Je souhaite donner aux utilisateurs la possibilité de se connecter avec le même nom d'utilisateur et le même mot de passe à un deuxième site Web sans qu'il soit nécessaire de créer un compte à nouveau.
Comment calculer le hash du mot de passe en dehors de WordPress? Je souhaite générer du hachage sur mon deuxième site, puis me connecter à la base de données WordPress et authentifier l'utilisateur Donc, cela devrait fonctionner sans l'aide de WordPress, seulement une connexion directe à la base de données.
J'ai essayé un mot de passe WordPress hasher , mais chaque fois, il me donne un autre hash. Pourquoi ce n'est pas déterministe comme SHA?
Je ne vois pas non plus de mot de passe sel ici.
Bien que la réponse à votre question puisse être longue et complexe, mais comme vous développez un autre site Web en utilisant ASP, je suppose que vous savez également comment intégrer la base de données.
Je vais ajouter des informations utiles pour votre cas.
WordPress utilise différents sels à des fins différentes, comme demandé ici . Ces sels sont situés à wp-config.php
. Vous voudrez peut-être jeter un coup d'œil à cela pour générer vos hachages.
La classe PasswordHash
vous permet de générer et de personnaliser des mots de passe hachés. Vous pouvez l'utiliser pour créer des hachages basés sur vos chaînes, puis les comparer avec les hachages d'origine de la base de données, en utilisant sa méthode CheckPassword()
.
Le mot de passe haché pour chaque utilisateur est stocké sous la ligne user_pass
, située dans la table wp_users
. Vous pouvez l'utiliser pour faire des comparaisons de hachage, en utilisant la classe $wpdb
. Cela peut être fait par une API REST.
Lorsqu'un utilisateur essaie de se connecter, vous pouvez envoyer une demande REST à votre installation WordPress, récupérer les hachages, les comparer et les renvoyer à votre installation ASP si elle est correcte.