关于 token 验证步骤

phoenix-sky 社区高级成员 T9 2021-08-17 21:37:41

以往开发中没用过 token,请问 token 验证步骤是怎么样的?

  1. 首次登录后从服务端获取 token,然后保存在本地后一直不变?
  2. 登录每一个页面时都要从本地获取 token 进行验证?

谢谢!

...全文
501 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 社区高级成员 T9 2021-08-18
  • 打赏
  • 举报
回复 1
  1. 首次登录后从服务端获取 token,然后保存在本地后一直不变?

-- 是的。如果有其它地方登录了,或者长时间没有使用,这个 token 会失效,当然,这并不是你的问题,属于特殊异常。但这种异常你心里要清楚。
2. 登录每一个页面时都要从本地获取 token 进行验证?
-- 是的。但并不麻烦,你应该将请求封装成一个 function,function中获取缓存中的 token, 这样你就可以忘记 token 了。

phoenix-sky 社区高级成员 T9 2021-08-22
  • 举报
回复
@吉普赛的歌 非常感谢你的回复,还想请教几个问题。 1. 从服务端获取的 token 存在 cookie 或者 storage 里面都可以吧? 2. 登出页面后是否需要删除 token ? 3. 不同权限的用户是否需要不同的 token ? 4. 验证是指本地存储的 token 和服务器端的 token 一一对照吗? 谢谢!
吉普赛的歌 社区高级成员 T9 2021-08-22
  • 举报
回复
@phoenix-sky 1. 是都可以。但如果用户比较固定,建议存 storage, 毕竟 cookie 是老技术,比较容易满。 2. 删除比较好。 3. 不同的用户,当然是不同的 token。即使同一个用户,两次登录的token都是不同的。 4. 是的。但并不是页面,只是请求接口需要用到。 每次请求服务器的webapi接口时,传入token,token只是用于证明你的请求是合法的。如果是合法的,返回相应的结果给你。
phoenix-sky 社区高级成员 T9 2021-08-23
  • 举报
回复
@吉普赛的歌 请问采用类似这样的手段进行验证就可以了吗? /* let token = xxxCookie.get("token"); ... or ... let token = localStorage.getItem("token"); let xhr = new XMLHttpRequest(); ... */ xhr.setRequestHeader("Authorization", token);
3条回复
慕筱佳丶 2021-08-17
  • 打赏
  • 举报
回复 1

是的,token是当你登录成功后服务端返回的一串唯一的字符串,可以自行保存在本地储存中。只需要在你需要使用token验证的页面再去获取token去验证,不需要全部页面做验证的。

phoenix-sky 社区高级成员 T9 2021-08-22
  • 举报
回复
@慕筱佳丶 感谢回复,谢谢! 请教一下:验证是指本地存储的 token 和服务器端的 token 一一对照吗?
慕筱佳丶 2021-08-22
  • 举报
回复
@phoenix-sky 是的

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧