保存成功
保存失败,请重试
提交成功

深入浅出用户认证鉴权

作者/分享人:hucheng
前端开发

你工作 1~2 年时, 在和后端开发联调接口 API,人家说 token 过期了,通过邮件点击链接我们要做个 JWT 认证,你 2 眼一抹黑,这是啥子呀。

你工作 3~5 年后,公司要做一套 oauth2 认证,公司的所有系统用户鉴权都通过这套认证,你参与了整个系统设计,需要封装一个 sdk 给其他前端同事用 ,因为不懂原理实现,设计不合理,被同事吐槽,抵触使用你的 sdk。在整个工作生涯中,会一直和用户认证鉴权这块打交道,值得我们花时间好好学习下。

笔者在平时工作中,参与设计了很多次用户认证鉴权,也给很多同事讲解过这些设计,比较有经验。网上这类文章大部分是站在后端的角度来讲设计,有很多术语是前端开发很少接触的,而笔者自己写过 3 年后端,4 年前端,能很好的站在前端开发的角度梳理这些知识点,讲解清晰,通俗易懂的学会这些知识。

在本场 Chat 中,会讲到如下内容:

  • cookie 结合 session 认证
  • token 认证
  • JWT 认证
  • 类似微信扫码认证
  • Oauth2 认证
  • 单点登录
  • LDAP 认证

适合人群:工作 2~5 年的前端开发工程师

已有1140人预订
预订达标
文章出炉
     
09月01日
09月12日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张hucheng的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
陆军1 天前
文章用于开阔技术视野还是很不错的,就是还存在一些错别字,看着挺难受的,如jessionid,希望可以再订正一遍
NAVY6 天前
太过于简单,被标题忽悠进来了,付费了
蜗牛也很牛22 天前
太简单了吧 标题挺吸引人
hucheng(作者)21 天前
哈喽,是这样的,需要尽可能的考虑大部分读者,我是做的整个流程的梳理,让大家建立知识结构,有了知识结构,在深入下去的,通过 google 能找到更深入的资料
为什么名称不能是空的22 天前
我之前试过jwt但是最后还是改回了token(学务管理系统),因为有一些问题我不知道怎么解决,如果大佬知道的话请指点一二。 1. 过期时间,如果几分钟过期一次,那么就很有可能用户几分钟就要登录一次,很显然这不现实。我设置了五天内免登录,所以过期时间得设五天,而且如果五天内再次登录的话还得续签。 2. 重放攻击(不管是不是恶意的),无状态的jwt没有办法让它过期,如果五天内用户修改了密码,没办法让其它终端强制下线,只有等jwt过期,更要命的是,如果管理员修改了用户权限(忘了说了,用jwt的初衷是为了做前端鉴权),就算发了一个新的jwt,但是老的过期之前依旧可以使用。 3. 所以不得不做有状态的jwt,那和session有什么区别?无非是免了xss攻击。所以最后还是回到了session鉴权的怀抱。 4. 性能。这个都不考虑了,毕竟肯定比session认证消耗资源。
hucheng(作者)21 天前
这个场景 不适合 jwt,适合token,文章中有说的过jwt适合 邮件认证,短信确认这类非状态需求的认证
clementine22 天前
期待更深入的一篇!
hucheng(作者)21 天前
你好,我写的这篇是希望读者能在脑中建立 认证这块的知识框架,就像纲领一样,有了纲领后,在用的时候才知道自己需要哪个方面的知识,然后再深入下去
你可能还喜欢
史上最全 Redis 面试题及答案,搞懂这套题征服面试官
ilomilo
面试官,不要再问我三次握手和四次挥手
猿人谷
数据结构算法常见的 100 道面试题全解析:2019 版
攻城狮
怎样的一份“副业”,能让你不依赖“死工资”?
一尘
如何依靠副业赚钱,应对人到中年的职场危机
代码GG陆晓明
Zookeeper 详解与实践,你面试工作都绕不开的必考题!
latent
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效