查了不少资料,都说localstorage不安全,放在cookie里面设置httponly比较好。
原本我想做的是,后端返回给我token,我将token放在cookie里面,在请求的的时候把cookie里面的token放在header里面。
但是设置了httponly之后我自己就取不出来token。
而且,如果设置httponly那不就是很像session那一套去了吗(session把自己的sessionid放在cookie里面,后端根据前端带的cookie里面的sessionid来获取对应的session,后端也是根据cookie来去token,这样如果有移动端,就要增加后端额外代码判断处理吗?我大概是这个意思)
我的问题就在于,如果设置httponly,我自己在去cookies.get('token')的时候是取不出来放在header里面的。
session 是后端为了保证会话状态 做的,与前端无关。无论放在 cookie 还是 localStorage,都是基于 token。
token 目的是无状态, 前端把 token 发上去就实现了认证,每次都携带此次 api 需要的全部信息即可。至于后端用不用 session,这个与前端无关。
还有一种是在请求时候放入 http 请求头部。
更新
选定了cookie方案, 去设置token,如果放在 cookie 中,那么你就不需要管理cookie。就让后端处理 cookie.怎么放入,怎么取出。cookie 是每次请求会带到服务器端的。