2016-09-27 1 views
2

Ich habe remeber_token Feld in der Tabelle Benutzer. Und ich bin ziemlich verwirrt darüber, wie es erzeugt wird? weil ich zwei verschiedene Arten von Token in der Datenbank für zwei verschiedene Benutzer sehen kann.Wie wird Remember Token generiert?

mFqEE5PUS4ZlOdQ51WEomGqJ1vFQCzw6zumvvW8rkpBUclC161HtvK8LsXXP

und die andere Art:

78x6c35esh2Ya0g4fb1d9 

Wie ist es so? Und erinnern Sie sich Token und Passwort vergessen Token mit verschiedenen Algorithmen generiert?

+0

Meinst du zwei Benutzer haben unterschiedliche Länge der Erinnerungstoken oder dass die Erinnerung Token hat eine andere Länge als die Reset-Token? –

+0

@sven sind nicht erinnern, Token und Reset-Token auf demselben 'remember_token'-Feld aktualisiert? –

+0

Wenn ich mich richtig erinnere, haben Sie eine Tabelle namens password_resets https://laravel.com/docs/5.2/authentication#resetting-passwords –

Antwort

1

Ich sah into the code und es hat die folgende Funktion der Token

protected function refreshRememberToken(AuthenticatableContract $user) 
{ 
    $user->setRememberToken($token = Str::random(60)); 
    $this->provider->updateRememberToken($user, $token); 
} 

von the docs zu generieren:

str_random()

Die str_random Funktion erzeugt eine Zufallsfolge die angegebene Länge. Diese Funktion verwendet PHP random_bytes Funktion:

Ihr Token

mFqEE5PUS4ZlOdQ51WEomGqJ1vFQCzw6zumvvW8rkpBUclC161HtvK8LsXXP

60 Buchstaben hat, ich weiß nicht, warum das andere Token weniger hat.

+0

ist es das gleiche für das Zurücksetzen des Passworts? –

Verwandte Themen