Cookies.get() 未定义

问题描述 投票:0回答:2

编辑:它的工作/当 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)
                })
}, [])

javascript reactjs cookies cookie-httponly
2个回答
7
投票

这是一种有效的行为。 在生成 cookie 时使用 httpOnly = true, flag 使 cookie 成为受保护的 cookie。 如果某个浏览器支持 httpOnly 标志, 它不允许客户端脚本使用此类受保护的 cookie。 请在这里找到更多详细信息, https://owasp.org/www-community/HttpOnly


0
投票

谢谢,@zulfir 更改为 false,httpOnly 有效

© www.soinside.com 2019 - 2024. All rights reserved.