无法在 Google 上找到确切答案,我正在尝试将 Laravel 的身份验证系统与 React 集成,以便我的开发人员可以在前端使用用户数据
在 Laravel 中你可以做一些事情,比如
Auth::user()->id
我希望这些数据在前端可用(以及如下代码)
Auth::check()
当用户登录 React 应用程序时,它会将数据发送到后端,我是否需要他向后端发送请求以检查登录等?如果我们不使用 Laravel 前端,Auth::check() 是否会返回 true 如果他们通过前端登录?
我对仅使用 Laravel 作为后端有点陌生,所以如果这个问题有明显的答案,我深表歉意
谢谢
最佳答案
如果您使用 React 和 Laravel 构建单页应用程序,最常见的方法是使用 Javascript Web Tokens (JWT) 进行 API 身份验证。
Laravel 没有自带 API 身份验证方法。然而,Laravel Passport ( https://laravel.com/docs/master/passport ) 或其他流行的库,如 JWT Auth ( https://github.com/tymondesigns/jwt-auth ) 提供了这一层。
使用 API 身份验证时,客户端(在本例中为 React 前端)会在用户提交用户凭据时将其发送到登录 API 端点。然后 Laravel 对用户进行身份验证,如果用户身份验证成功,则在 JSON 响应中返回一个 JWT(基本上是一个长字符串)(以及您可能想要返回的任何其他信息,例如用户名)。
然后可以将该 JWT token 保存到 cookie 或本地存储中,并用于对 API 的后续请求(通常在 header 中发送)。您使用的 API 身份验证库(例如 Passport)具有验证用户是否通过身份验证并根据提供的 JWT token 提供用户对象的方法。
当我第一次学习这个时,有一个工作示例真的很有帮助。我用过 https://github.com/lijujohn13/react-laravel-auth ,这是 Ali M 在评论中提到的(谢谢!)。我还发布了我自己的示例 todo 应用程序 ( https://github.com/devinsays/laravel-react-bootstrap ),它使用 jwt-auth 库并且还对所有端点进行了测试。
关于php - Laravel Auth 与 React 前端的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49079900/