Laravel Nova: аутентификация с помощью паспорта - PullRequest
0 голосов
/ 25 августа 2018

Как настроить Laravel Nova для работы с Passport?В настоящее время я могу войти в свое приложение по обычному маршруту / login (используя промежуточное программное обеспечение Auth), и администрация Nova примет моего аутентифицированного пользователя, однако, если я пытаюсь войти в систему с / nova, она заявляет, что «эти учетные данные не соответствуют нашим записям. "

Я просмотрел https://github.com/laravel/nova-issues, но не нашел решения.

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Если в пользовательской модели есть setPasswordAttribute, который по умолчанию хэширует пароль, используйте его в модели nova:

Password::make('Password')
     ->onlyOnForms()
     ->creationRules('required', 'string', 'min:6')
     ->updateRules('nullable', 'string', 'min:6')
     ->fillUsing(function (NovaRequest $request, $model, $attribute, $requestAttribute) {
         if (! empty($request->{$requestAttribute})) {
             $model->{$attribute} = $request[$requestAttribute];
         }
     }),
0 голосов
/ 02 ноября 2018

У меня была такая же проблема. Я не уверен на 100%, что это так же, как ваша проблема, но я подумал, что поделюсь, так как никто не представил ответ.

В моем случае у меня есть модель setPasswordAttribute на моей модели User, чтобы хэшировать пароль при сохранении. Nova уже хэширует пароль, поэтому он хэшируется дважды Вероятно, не лучшее решение, но я просто сделал следующее:

/** App\Models\User.php */
...
public function setPasswordAttribute($value)
{
    $password = starts_with($value, '$2y$') ? $value : Hash::make($value);
    $this->attributes['password'] = $password;
}
...