本地存储与鉴权

是常见的本地存储以及存在的意义

local storage,session storage以及cookie。

首先来说cookie

为什么要用到cookie?

分析用户行为,http连接是无感的,那怎么鉴别请求来自何处?设置cookie,在服务端设置cookie,方法:set-cookie。配合这sessionId结合食用!

说到了set-cookie,再来看看都设置一些什么。首先是token,然后是过期时间Expires或者是max-age(后者可覆盖前者),以及还有一些其他的字段domain,path。如果有不一样的话,那边会被替换。结合缓存机制??

那么从前端的角度又是怎么加上这个cookie呢(避坑:不能直接加在header上),同源时:直接发送cookie,跨域时加入withCredentials:true便可。

再来,安全上,xss攻击就是利用了可以通过document.cookie可以读取的特点进行攻击。相应的防范则是Secure(Https中使用)字段与HttpOnly(cookie将不可读)。

token结合refresh-token结合一起食用体验更佳!

其他鉴权字段

Authentication认证

cookie跟token是有区别的

token进阶jwt

sso

OAuth2

参考资料:

前端鉴权的兄弟们:cookie、session、token、jwt、单点登录 - 掘金 (juejin.cn)
Cookie – JavaScript 标准参考教程(alpha) (ruanyifeng.com)

前端面试查漏补缺–(十) 前端鉴权 - 掘金 (juejin.cn)