将授权用户从Laravel后端传递到React前端的最安全方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将授权用户从Laravel后端传递到React前端的最安全方式相关的知识,希望对你有一定的参考价值。
我正在使用laravel构建一个天气应用程序(差不多已完成),我决定使用react / redux / react-router实现前端,并使用来自api调用的laravel。我决定留下同样的唯一一件事是我的自定义laravel auth实现路由和视图。但是,我很难找到一种安全的方法来在登录后传递我的Auth :: user对象,以便存储在redux上。我有2个选择:
1)登录后,在渲染主jsx之前,对特定路径发出axios请求,以便返回Auth :: user,如:
在routes.php中
Route::post('/auth/user' ,function(){
return response()->json(['user'=>auth()->user()]);
})->middleware('auth');
在js
axios.post('/auth/user').then((res)=>{console.log(res.data.user)}).catch((e)=>{console.log(e)})
2)用刀片传递Auth :: user,用getAttribute捕获它,将它保存到redux并立即从DOM中删除:
<div id="app" data-usr="{{ auth()->user() }}"></div>
然而,他们似乎都不像是一种传递这种数据的安全方式。谁能告诉我他对此的看法或者给我一个更好的解决方案?非常感谢。
我会创建一个Class来代表用户,只需要我需要在前端显示的重要信息。
因此,不是将auth->user()
传递到前面,而是将其注入decorator
并使用您希望显示的方法生成simpler user class
。
值得庆幸的是,我找到了一个内置Laravel的API TOKEN实现的解决方案。此外,我在注销后销毁令牌并在登录时重新创建它,所以如果他没有登录,没有人可以使用它与其他服务收集数据
以上是关于将授权用户从Laravel后端传递到React前端的最安全方式的主要内容,如果未能解决你的问题,请参考以下文章
使用 GET 路由将变量从 ReactJS 前端传递到 NodeJS 后端
在 Google OAuth2 授权流程之后如何将 JWT 从我的后端服务器发送到我的前端
使用 Firebase HTTP 函数(Firebase、Stripe OAuth、React (JSX) 前端)将授权代码返回到 Stripe