2016-09-04 3 views
2

Я использую значение по умолчанию auth/registration в Laravel 5.3.Ошибка регистрации в Laravel

Когда я пытаюсь зарегистрировать нового пользователя, я получаю ошибку:

FatalThrowableError in RegistersUsers.php line 33: 
    Call to undefined method Illuminate\Auth\TokenGuard::login() 

Я сделал некоторые изменения в конфигурации Laravel:

'defaults' => [ 
     'guard' => 'api', 
     'passwords' => 'users', 
    ], 

Таким образом, по умолчанию я использую апи охранник

+0

, в котором файл конфигурации вы внесли изменения? – Qazi

+0

вы, вероятно, определили защитника api, который не способен регистрировать кого-либо из-за того, что apis работает с токенами, чтобы обеспечить аутентификацию - поэтому ваш «TokenGuard», вероятно, просто не имеет метода входа, как объясняется в ошибке –

ответ

2

Драйвер аутентификации api, который вы пытаетесь использовать, - TokenBased. Это означает, что сервер выдаст вашему клиенту токен при успешной аутентификации с использованием учетных данных. Затем клиент может представить этот токен серверу, а запрос - идентифицировать себя.

Как указано в laravel git, нет способа как login().

Чтобы использовать TokenBased аутентификации, вот хорошая guide

+0

. Я знаю, но как я могу зарегистрировать новый пользователь? В этих статьях не объясняется, как это сделать. – Babaev

+0

Процесс регистрации @Babaev не изменится. Он останется тем же ... предоставит регистрационную форму пользователю и добавит данные в таблицу ваших пользователей. Правильно? – jaysingkar

+0

Я думаю, что ваши данные правильно вставляются в БД. Но если вы проверите метод 'register' в вашем' AuthController', после ввода данных должен быть вызван метод 'login'. Вам нужно будет изменить, чтобы вернуть токен. Вы всегда можете переопределить метод 'postRegister()' в вашем 'AuthController', чтобы реализовать это. – jaysingkar

Смежные вопросы