Как удалить Laravel Auth Hashing (заменить его на mysql хеширование)? - PullRequest
0 голосов
/ 16 мая 2019

Я добавил регистрацию, и я не хочу использовать хэш laravels, но хэш mysql (потому что я хочу, чтобы существующие пользователи все еще могли подключаться).Так что я делаю это шаг за шагом, а сейчас я просто пытаюсь зарегистрироваться, а затем войти без всякого хеширования.Учетные данные верны в моей таблице, но я получаю «message»: «Указанные данные были недействительными.», «Errors»: {«email»: [«Эти учетные данные не соответствуют нашим записям.»]}

Я попытался установить его в LoginController.php

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    public function username()
    {
        return 'email';
    }

    public function password()
    {
        return 'email';
    }

    public function setPasswordAttribute($password){
        $this->attributes['password'] = $password;
    }

    public function Login(Request $request)
    {
        if(Auth::attempt(['email' => $request->email, 'pwd' => $request->password, 'password' => $request->password])){ 
          $user = Auth::user();
          $username = $user->nom;
          return response()->json([
            'status'   => 'success',
            'user' => $username,
          ]); 
        } else { 
          return response()->json([
            'status' => 'error',
            'user'   => 'Unauthorized Access'
          ]); 
        } 
    }

}

Думаю, мне следует перезаписать другую функцию, но не могу определить, какая именно.Не могли бы вы помочь мне?

1 Ответ

1 голос
/ 16 мая 2019

Хотя то, что вы пытаетесь достичь, считается небезопасным, чтобы удалить хэши Laravel для пароля, вам нужно добавить это к вашей User модели:

public function setPasswordAttribute($password){
    $this->attributes['password'] = $password;
}

, а не к контроллеру, иобязательно удалите методы brcypt() в вашем RegisterController


Чтобы добавить собственные методы хеширования MySQL, обновите контроллер, чтобы вставить запрос RAW при создании пользователя при регистрации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...