2016-12-01 10 views
0

Ich versuche, Benutzer von Wordpress nach Laravel importieren, aber ich kann nicht die Passwörter richtig. Wenn der Benutzer sich anmeldet, muss ich das Passwort gegen md5 überprüfen und es in bcrypt zerlegen, wenn es korrekt ist.Transfer Wordpress Passwörter zu Laravel

habe ich versucht, diese in AuthenticatesUsers.php Login()

//If user got here it means the AUTH was unsuccessful 
//Try to log them IN using MD5 
if($user = User::where('email', $credentials['email'])->where('password', md5($credentials['password']))->first()){ 
    //It this condition is true, the user had the right password. 

    //encrypt the password using bcrypt 
    $user->password = Hash::make($credentials['password']); 
    $user->save(); 

    if (Auth::guard($this->getGuard())->attempt($credentials, $request->has('remember'))) { 
     return $this->handleUserWasAuthenticated($request, $throttles); 
    } 

    return $this->handleUserWasAuthenticated($request, $throttles); 

} 

ich auch mit Migrating old md5 passwords to bcrypt with Laravel 5.2's built in auth habe versucht, aber ich kann es nicht das md5 Passwort zu validieren erhalten.

+0

Was in '$ user geschieht = User :: wo (...' tut es dem Benutzer findet –

+0

Ja, es findet der Benutzer aber Es kann das md5-Passwort nicht validieren – mattesj

+0

Wenn es den Benutzer findet, ist das md5-Passwort bereits validiert, was Sie nicht tun können, ist, Ihren Benutzer zu authentifizieren, nachdem Sie das Passwort zu bcrypt verschlüsselt haben, denke ich ... das Problem kann sein in 'if (Auth :: guard ($ this-> getGuard()) -> Versuch ($ credentials, $ request-> has ('remember')))' –

Antwort

0

Verwenden mikemclin/laravel-wp-password zu hat/Check h Ihre Passwörter:

$password = 'plain-text-password'; 

$wp_hashed_password = '$P$B7TRc6vrwCfjgKLZLgmN.dmPo6msZR.'; 

if (WpPassword::check($password, $wp_hashed_password)) { 
    // Password success! 
} else { 
    // Password failed :(
}