4

如何将 Laravel Nova 配置为与 Passport 一起使用?目前我可以通过常规 /login(使用 Auth 中间件)路由登录我的应用程序,Nova 管理将接受我的认证用户,但是如果我尝试在 /nova 登录,它声称“这些凭据与我们的记录不匹配。”

我已经查看了https://github.com/laravel/nova-issues但没有找到解决方案。

4

2 回答 2

1

我遇到过同样的问题。我不能 100% 确定它与您的问题相同,但我想我会分享,因为没有人提交答案。

就我而言,我的setPasswordAttribute用户模型上有一个修改器,用于在保存时对密码进行哈希处理。Nova 已经对密码进行了哈希处理,因此它被哈希了两次。可能不是最好的解决方案,但我只是做了以下事情:

/** App\Models\User.php */
...
public function setPasswordAttribute($value)
{
    $password = starts_with($value, '$2y$') ? $value : Hash::make($value);
    $this->attributes['password'] = $password;
}
于 2018-11-01T23:04:39.653 回答
1

如果用户模型有'setPasswordAttribute',默认情况下散列密码,在新星模型中使用:

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];
         }
     }),
于 2019-01-14T23:21:21.603 回答