Laravel 与 React 前端的 Auth 集成

Laravel Auth Integration with React Frontend

无法在 Google 上找到确切答案,我正在尝试将 Laravel 的身份验证系统与 React 集成,以便我的开发人员可以在前端使用用户数据

在 Laravel 中,您可以执行诸如

Auth::user()->id

并且我希望该数据在前端可用(以及如下代码)

Auth::check()

当用户登录到 React App 时,它会将数据发送到后端,我是否需要他向后端发送请求以检查登录等?如果我们不使用 Laravel 前端,如果他们通过前端登录,Auth::check() return 会是真的吗?

我对使用 Laravel 作为后端有点陌生,所以如果这个问题有明显的答案,我深表歉意

谢谢

如果您使用 React 和 Laravel 构建单页应用程序,最常见的方法是使用 Javascript Web 令牌 (JWT) 进行 API 身份验证。

Laravel 没有随附 API 身份验证方法。但是,Laravel Passport (https://laravel.com/docs/master/passport) or other popular libraries like JWT Auth (https://github.com/tymondesigns/jwt-auth) 提供了这一层。

使用 API 身份验证时,客户端(在本例中为 React 前端)在用户提交时将用户的凭据发送到登录 API 端点。 Laravel 然后对用户进行身份验证,如果用户身份验证成功,return 在 JSON 响应中添加一个 JWT(基本上是一个长字符串)(以及您可能想要 return,例如用户名)。

然后可以将该 JWT 令牌保存到 cookie 或本地存储中,并用于对 API 的后续请求(通常在 header 中发送)。您使用的 API Auth 库(例如 Passport)具有验证用户是否经过身份验证并根据提供的 JWT 令牌向用户提供 object 的方法。

当我第一次学习这个时,有一个工作示例真的很有帮助。我使用了 https://github.com/lijujohn13/react-laravel-auth, which was mentioned by Ali M in the comments (thanks!). I also released my own example todo app (https://github.com/devinsays/laravel-react-bootstrap),它使用 jwt-auth 库并且还对所有端点进行了测试。