Laravel 5: Diagnostizieren Passwort-Reset-Token ist ungültig Fehler

stimmen
1

Ich benutze das Laravel Auth-System eine willkommene E-Mail an alle neuen Benutzer zu senden. es funktioniert meistens gut, aber ich habe ein paar Einzelfälle, in denen ich die Fehlermeldung „Passwort-Reset-Token ungültig ist“ erhalten.

Um dies zu diagnostizieren würde Ich mag manuell können , um die Saiten zu vergleichen , die in der Benutzer-URL zur Verfügung gestellt werden (dh das Token , das ich sie per E - Mail) mit dem Wert in dem gespeicherten password_resets.tokenFeld. Wie kann ich das machen?

Das Token in der URL erscheint 64 Hex - Zeichen zu sein. Das Token in der Datenbank beginnt mit $2y$10$, so nehme ich an es die Ausgabe der ist password_hashFunktion. Wie kann ich von einem zum anderen übersetzen?

Veröffentlicht am 07/11/2018 um 23:36
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Eine Alternative ist , zu überprüfen , ob eine an die andere entspricht (das bedeutet, wenn man die gehashten / ungehashte Version des anderen ist). Dazu können Sie den Hash :: check () Funktion verwenden. Aus dem docs :

Überprüfen Sie ein Passwort gegen einen Hash

Das Prüfungsverfahren ermöglicht es Ihnen , zu überprüfen, ob eine gegebene Klartextzeichenfolge zu einem bestimmten Hash entspricht. Wenn Sie jedoch verwenden die LoginControllermit Laravel enthalten, werden Sie wahrscheinlich nicht direkt verwenden müssen, da diese Regler automatisch diese Methode aufrufen:

if (Hash::check('plain-text', $hashedPassword)) {
    // The passwords match...
}
Beantwortet am 08/11/2018 um 00:58
quelle vom benutzer

stimmen
0

Zunächst einmal möchte ich den Token in der URL sagen , nicht der Ausgang der ist password_hashFunktion.

Um das Token in der URL zu vergleichen , und was generieren oder gespeichert ist , können Sie aus Ihrer Datenbank überprüfen. Überprüfen Sie die password_resetsTabelle, überprüfen Sie die E - Mail des Benutzers, suchen Sie nach dem Token , das zu dieser E - Mail - Adresse entspricht.

Das Token in der URL, soll das gleiche sein wie das, was für die E-Mail-Adresse in der Datenbank.

Beantwortet am 07/11/2018 um 23:54
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more