Salve, devo interrogare la tabella user_field_data di Drupal 8 e verificare se un utente esiste. Cosi passo attraverso una query string nome_utente e password ad uno script che risiede sul server. Questo script effettua la connessione al database e poi va ad interrogare la tabella user_field_data.
La password, chiaramente, è criptata e quindi mi servirebbe di criptare la password che passo allo script. Ho trovato su Drupal.org uno script php che effettua l'hash della password e pensavo di adattarlo, ma ogni volta che lo eseguo, mi da un hash diverso. Qualcuno sa dirmi perché? di seguito allego lo script.
Codice PHP:
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;[/FONT][/COLOR]
if (pathinfo(__FILE__, PATHINFO_FILENAME) == 'admin-pass-reset') {[/FONT][/COLOR]
die('Please change your file name to a random string to continue');
// Boot Drupal.
$autoloader = require __DIR__ . '/autoload.php';[/FONT][/COLOR]
$request = Request::createFromGlobals();[/FONT][/COLOR]
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod', FALSE);
$kernel->boot();
// Get password hasher service.[/FONT][/COLOR]
$password_hasher = $kernel->getContainer()->get('password');
// Hash password.
if (isset($_GET['pass']) && !empty($_GET['pass'])) {
$newhash = $password_hasher->hash($_GET['pass']);
}
else {
die('Retry with ?pass=PASSWORD set in the URL');
}
print("nuova password = ".$newhash");