前端cookie设置httpOnly和secure拿不到,换成localstorage+加密方式

之前同事用的

import Cookies from 'js-cookie'

const TokenKey = 'Admin-Token'


export function getToken() {
  return Cookies.get(TokenKey)
}
export function setToken(token) {
  return Cookies.set(TokenKey, token, { expires: 30, path: '' })
}
export function removeToken() {
  return Cookies.remove(TokenKey)
}

token用接口获取,然后设置在cookie中,以后每个接口调用都要获取这个cookie并且设置在接口的请求头部中,由于安全检查,要添加httpOnly,和secure,但导致js获取不到cookie,从而导致调用失败,所以必须换种方式换成其他方式,我换成的localstorage+加密的方式

export function getToken() {
  return utils.decrypt(localStorage.getItem(utils.encrypt(TokenKey)))
}

export function setToken(token) {
  return localStorage.setItem(utils.encrypt(TokenKey), utils.encrypt(token))
}

export function removeToken() {
  return localStorage.removeItem(utils.encrypt(TokenKey))
}

httpOnly:防止xss攻击,js等非http,https协议方式拿不到cookie,

secure:https中才能传输

参考:

https://www.jianshu.com/p/f9aebec8c018

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值