как сделать аутентификацию в Laravel 6.12? - PullRequest
1 голос
/ 18 февраля 2020

Я использую laravel 6.12 , используя команду мастера аутентификации

php artisan ui vue --auth

Я следил за https://laraveldaily.com/auth-login-how-to-check-more-than-just-emailpassword/ веб-сайтом , Я хотел бы знать шаги, необходимые для аутентификации с помощью сортировки, например, компания, адрес электронной почты и пароль.

Когда я добавляю название компании, я получаю дубликат, он думает, что это адрес электронной почты. Где ты это изменишь? И я получаю следующую ошибку.

Метод BadMethodCallException App \ Http \ Controllers \ Auth \ LoginController :: company не существует.

$credentials = $request->only($this->username(), 'password'); $credentials = array_add($credentials, 'company'); Мне нужно Проверьте название компании как часть процесса аутентификации. с электронной почтой, паролем и компанией. Кто-нибудь знает, как пройти аутентификацию с использованием трех учетных данных?

use AuthenticatesUsers;

/**
 * Where to redirect users after login.
 *
 * @var string
 */
protected $redirectTo = RouteServiceProvider::HOME;

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest')->except('logout');
}

} '' '

1 Ответ

0 голосов
/ 18 февраля 2020

Примечание: Учебник, на который вы ссылаетесь, показывает неправильный способ входа в систему пользователя с помощью необработанного запроса SQL !. Пожалуйста, используйте более стандартный способ.


Чтобы войти в систему с использованием нескольких свойств, выполните в методе Controller что-то вроде этого:

public function login(Request $request)
{
    //... request validation logic

    //take only what is needed to verify login
    $credentials = request(['company', 'email', 'password']);

    //verify login
    if (!Auth::attempt($credentials)) {
        return response()->json([
            'message' => 'Invalid password'
        ], 401);
    }

    //Login user, as you're using Vue I assume you use either JWT or Passport

    $user = $request->user();
    $tokenResult = $user->createToken('Personal Access Token');
    $token = $tokenResult->token;
    $token->save();

    return response()->json([
        'access_token' => $tokenResult->accessToken,
        'token_type' => 'Bearer',
    ]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...