身份验证令牌和授权如何在 reactjs 中工作?

Posted

技术标签:

【中文标题】身份验证令牌和授权如何在 reactjs 中工作?【英文标题】:How do authentication tokens and authorization work in reactjs? 【发布时间】:2022-01-24 02:53:58 【问题描述】:

我是 reactjs 的新手,我一直在尝试了解身份验证令牌如何保护路由。在各种教程中,人们在登录用户时从 api 获取该令牌,然后将其与设置为 true 的“isAuthenticated”变量一起存储在 localStorage 中。然后在路由时他们检查 isAuthenticated 是否为真,没有任何 api 调用来验证令牌。那安全吗?我试图以相同的方式实现授权,只需添加一些 isAuthorized 变量,但是由于 react 可以在客户端工作,因此这两个变量都不能被篡改吗?

【问题讨论】:

【参考方案1】:

他们当然可以。客户端上的任何内容都完全由用户控制。没有“客户端授权”。此类功能(对客户端上某些功能的访问控制)通常是一种用户体验功能,例如为什么向用户显示一些无论如何都不起作用的东西。

所有授权都必须在服务器端完成。

这本质上意味着通常可以在客户端中拥有没有数据的页面结构(视图)供任何人查看,关键是来自后端的数据将被授权并且仅对适当的用户可用。

【讨论】:

有道理,谢谢

以上是关于身份验证令牌和授权如何在 reactjs 中工作?的主要内容,如果未能解决你的问题,请参考以下文章

授权代码流如何在单页应用程序中工作?

如何解决 Http 401 错误,但在邮递员中工作,而不是在 xamarin 表单中工作

“限制身份验证会话”如何在 keycloak 中工作

未经授权的 OPTIONS 请求

如何在@Controller 中提取身份验证令牌

如何从授权码中获取谷歌身份验证令牌?