@Aslero

Как сделать авторизацию по логину и email?

Как сделать, чтобы можно было авторизоваться как по логину, так и по email?
laravel 6.x

use AuthenticatesUsers;

    protected $redirectTo = RouteServiceProvider::HOME;

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Курсы программирования на Laravel и VueJS
Этот кусок кода ты сюда бросил в качестве примера "я пытался, но не получилось"?

Ну давай раскинем мозгами вместе. У тебя есть трейт AuthenticatesUsers
Из него к себе в контроллер тебе нужно скопировать метод username. Сейчас он такой
public function username()
    {
        return 'email';
    }


Твоя задача проверить что тебе пришло с формы, логин или email
Для этого тебе подойдет метод filter_var($string, FILTER_VALIDATE_EMAIL) который уже есть в PHP
$string это то что ты отослал с формы, в зависимости от того что это ты должен вернуть название по какому полю производить поиск пользователя в таблице - email или name

public function username()
    {
        // вот тут ты должен выполнить проверку что пришло и в зависимости от этого сделать return название столбца email или name
    }

Дальше сам!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы