是否应该在每次页面更改时验证令牌?
Posted
技术标签:
【中文标题】是否应该在每次页面更改时验证令牌?【英文标题】:Should a token be validated on every page change? 【发布时间】:2021-09-20 02:36:54 【问题描述】:我有一个小问题,我在一个基于 react-native 的应用程序上工作,我不知道是否应该在每次更改页面/屏幕时向服务器发送一个请求以验证令牌(例如“提要” ' -> 'profile' ) 或仅当我向服务器发送请求时
【问题讨论】:
【参考方案1】:您的 UI 只是 UI,您对服务器的调用以提取数据应该每次都经过验证。
您的 UI 不包含任何数据,因此从技术上讲,他们可以看到没有数据的情况。
为了获得更好的用户体验,用户不应看到他们无权访问的网址/按钮/链接。但从安全角度来看,唯一的威胁是您的服务器端调用未检查身份验证或授权。
【讨论】:
【参考方案2】:您有一个获取访问令牌的登录请求,然后您将其保存在客户端(cookie 或其他存储)。
在后端,您有两种请求类型的 API:
-
受保护(例如 GET /user/:id) - 您应该发送访问令牌(后端检查它)
打开(例如 GET /books)
在以最佳方式更改屏幕后的客户端上,您应该有一个受保护的路由组件,它会检查内存中是否存在令牌(或者在 401 状态之后,您应该从内存中删除令牌)。您不必为此目的发送请求。
【讨论】:
以上是关于是否应该在每次页面更改时验证令牌?的主要内容,如果未能解决你的问题,请参考以下文章