编辑:它的工作/当 httpOnly = false 时我可以获取 cookies 值,为什么?
我正在使用 js-cookie 包,
当我打开 chrome 开发工具时,有一个 cookie token。
但是当我使用 Cookies.get('token') 时,结果是 undefined。
并使用 Cookies.get() 结果也是 未定义。
这是我的代码:
import Cookies from 'js-cookie'
const [token, setToken] = useState(Cookies.get())
// const [token, setToken] = useState(Cookies.get('token'))
useEffect(() => {
console.log(token) //undefined
CheckAuth(token)
.then(data => {
setLoggedInUser(data.user)
})
.catch(error => {
Cookies.remove('token')
setErrorMessage(error.message)
})
.finally(() => {
setLoading(false)
})
}, [])
这是一种有效的行为。 在生成 cookie 时使用 httpOnly = true, flag 使 cookie 成为受保护的 cookie。 如果某个浏览器支持 httpOnly 标志, 它不允许客户端脚本使用此类受保护的 cookie。 请在这里找到更多详细信息, https://owasp.org/www-community/HttpOnly
谢谢,@zulfir 更改为 false,httpOnly 有效