php - Laravel Auth 与 React 前端的集成

标签 php laravel reactjs authentication

无法在 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/

    相关文章:

    reactjs - React-三纤维点不渲染

    php - 使用 php foreach 提取 XML 不循环

    javascript - Axios 在创建时返回 405 错误(Laravel+Vue)

    php - Laravel 模型函数获取相关实体描述为字符串

    php - 找不到 'Laravelista\Comments'类

    javascript - 按下按钮后隐藏弹出窗口。 react Js

    具有良好用户登录/管理的 PHP 框架

    php - 使用 [php] 代码从一个特定的 [mysql] 数据库表中提取数据列表,但只有第一个 <option></option> 实际上是提取数据

    php - 找到 0 条记录

    reactjs - props.mutators 已弃用