身份验证令牌和授权如何在 reactjs 中工作?
How do authentication tokens and authorization work in reactjs?
我是 reactjs 的新手,我一直在尝试了解身份验证令牌如何保护路由。在各种教程中,人们在登录用户时从 api 获取该令牌,然后将其与设置为 true 的“isAuthenticated”变量一起存储在 localStorage 中。然后在路由时他们检查 isAuthenticated 是否为真,没有任何 api 调用来验证令牌。那安全吗?我试图以同样的方式实现授权,只是添加一些 isAuthorized 变量,但由于反应在客户端工作,这两个都不能被篡改吗?
当然可以。客户端上的任何内容都完全由用户控制。没有“客户端授权”。此类功能(对客户端上某些功能的访问控制)通常是一种用户体验功能,例如为什么要向用户显示无论如何都不起作用的内容。
所有授权必须在服务器端完成。
这本质上意味着通常可以在客户端中拥有没有数据的页面结构(视图)供任何人查看,关键是来自后端的数据将被授权并且只对适当的用户可用。
我是 reactjs 的新手,我一直在尝试了解身份验证令牌如何保护路由。在各种教程中,人们在登录用户时从 api 获取该令牌,然后将其与设置为 true 的“isAuthenticated”变量一起存储在 localStorage 中。然后在路由时他们检查 isAuthenticated 是否为真,没有任何 api 调用来验证令牌。那安全吗?我试图以同样的方式实现授权,只是添加一些 isAuthorized 变量,但由于反应在客户端工作,这两个都不能被篡改吗?
当然可以。客户端上的任何内容都完全由用户控制。没有“客户端授权”。此类功能(对客户端上某些功能的访问控制)通常是一种用户体验功能,例如为什么要向用户显示无论如何都不起作用的内容。
所有授权必须在服务器端完成。
这本质上意味着通常可以在客户端中拥有没有数据的页面结构(视图)供任何人查看,关键是来自后端的数据将被授权并且只对适当的用户可用。