Драйвер защиты аутентификации Laravel 5.4 [клиенты] не определенPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Драйвер защиты аутентификации Laravel 5.4 [клиенты] не определен

Сообщение Anonymous »

Я реализовал пользовательскую аутентификацию в L5.2. Я выполнил те же действия, но не могу войти/зарегистрироваться с помощью пользовательской аутентификации. Ниже приводится настройка:

в auth.php я добавил пользовательскую аутентификацию клиентов:

Код: Выделить всё

'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],

'api' => [
'driver' => 'token',
'provider' => 'users',
],

'customers' => [
'driver' => 'jwt',
'provider' => 'customers',
],

],
// Раздел поставщиков

Код: Выделить всё

providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],

'customers' => [
'driver' => 'eloquent',
'model' => App\Customer::class,
],
],
Затем в маршруты/api.php я добавил следующий код после удаления промежуточного программного обеспечения из RouteServiceProvider.php

Код: Выделить всё

Route::group(['middleware' => 'customers'], function() {

Route::post('login', 'JwtAuth\LoginController@login'); //Had made new auth for JWT
}
Когда я нажимаю этот логин, вместо таблицы «Клиент», аутентификация выполняется из таблицы «Пользователь»!

Я также пробовал использовать следующий код внутри Controller\JwtAuth\LoginController.php:

Код: Выделить всё

public function login(Request $request)
{
$credentials = $request->only('email', 'password');
$customer = Auth::guard('customers')->attempt($credentials);

try {
// attempt to verify the credentials and create a token for the user
if (!$token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'), Response::HTTP_OK);
}
Этот код выдает ошибку:

Код: Выделить всё

Auth guard driver [customers] is not defined.
В моем \App\Http\Kernel.php в защищенных группах $middlewareGroups я добавил:

Код: Выделить всё

'api' => [
'throttle:60,1',
'bindings'
],

'customers' => [
'throttle:60:1',
'bindings'
]
Есть ли какие-либо изменения в драйвере токена или специальном драйвере. Или как определить собственный драйвер аутентификации?

Любая помощь/руководство будет очень признательна. Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/425 ... ot-defined
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»