我可以使用 post 请求而不是默认通过 Laravel 登录页面登录用户吗

Can I log a user in with post request rather than through Laravel login page by default

在 Laravel (5.4) 中,我可以通过转到 {domain}/login 并提交登录表单来登录。这很好用。

我想要的是能够像这样发送请求:

{domain}/login?email=admin@example.com&password=pass1234

如果用户通过身份验证,json 响应将 return 与针对该特定用户的 api_token,但如果用户被拒绝,json 响应消息 "User login failed".

现在 Laravel 可以做到这一点吗?还是我必须实现自己的方法?

是的,这是可能的。您必须通过添加新方法来修改您的 LoginController,方法如下:

public function authenticate(Request $request)
    {
        if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
            // Authentication passed...
            return json_encode($my_things);
        }
    }

您可以在 https://laravel.com/docs/5.4/authentication#authenticating-users

阅读更多内容