0

我开始了一个新的 laravel 8 项目并安装了 laravel 微风身份验证入门套件。之后我创建了一个 api 端点,我想验证发往该端点的 post 请求,所以我写了一些代码:


        $validation = Validator::make($request->all(), [
            'project_name' => 'required',
            'project_location' => 'required',
            'project_tasks' => 'required',
        ]);

        if ($validation->fails()) {
            return redirect()->back()->with('project_error', $validation->errors());
        }

但是当我打印出来

{{ dump(Session::get('project_error') }}

它是空的,所以我通过添加以下内容来解决它

\Illuminate\Session\Middleware\StartSession::class,

to protected $middleware in App/Http/Kernel.php 这解决了问题,但是当我输入错误的详细信息时,我的微风入门工具包登录没有返回响应,并且当我向项目 api 端点发出发布请求时它会注销我.

微风认证码:

    public function store(LoginRequest $request)
    {
        $request->authenticate();

        $request->session()->regenerate();

        return redirect()->intended(RouteServiceProvider::HOME);
    }

    public function authenticate()
    {
        $this->ensureIsNotRateLimited();

        if (!Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) {
            RateLimiter::hit($this->throttleKey());

            throw ValidationException::withMessages([
                'email' => __('auth.failed'),
            ]);
        }

        RateLimiter::clear($this->throttleKey());
    }

有谁知道我如何仍然可以获得微风身份验证响应和返回 redirect()->back()->with('project_error', $validation->errors()); 同时。

我希望我提供了足够的信息:)

提前致谢!

4

0 回答 0