gpt4 book ai didi

json - 使用 jsonwebtoken 登录安全

转载 作者:行者123 更新时间:2023-12-04 11:42:20 27 4
gpt4 key购买 nike

我目前正在使用 React 开发一个网站,我希望能够让用户登录。现在我的策略是在提交时将表单数据发送到服务器( express ),如果信息与我的数据库中的用户匹配,服务器会发回一个没有敏感信息(只有用户名)的签名 JWT。

客户端收到 JWT 后,我会将其添加到 localStorage 并将其解码后的数据添加到我的 redux 存储中。我计划让我的 redux 存储保存当前登录的用户。

我相信我的网站可能存在安全问题,因为目前我有它,所以当用户第一次到达网站时,如果有 JWT,它会被添加到我的 axios header 中,并且解码后的 JWT 被设置为当前用户.代码如下所示:

if(localStorage.jwtToken) { // If token present, most likely a user is signed in

setAuthorizationToken(localStorage.jwtToken) // Set that token to head all api calls

store.dispatch(setCurrentUser(jwt.decode(localStorage.jwtToken))) // Set user in redux store
}

目前我发现如果有人只是进入我的 localStorage,复制我的 JWT 并将其添加到他们的 localStorage 然后 bam,他们就是我。我不确定这是否真的是一个安全漏洞,因为我自己重新创建它的唯一方法是将 token 从一个浏览器物理复制到另一个浏览器。但总的来说,这似乎很不安全,因为只是拿走我的 token 就会窃取我的身份。

如果有人知道使这更安全的方法,或者是否有更好的策略,或者至少告诉我我做错了什么,那将不胜感激。

最佳答案

其他人如何获得您的代币?为所需的 token 提供过期时间。也许尝试不同的方式来保护 token ,尤其是在 API 端提供更多的安全性。登录时,将日志事件存储在数据库中并创建唯一字段来识别它,例如 IP 地址或用户代理,或者可能检测用户之前是否已点击登录端点。

关于json - 使用 jsonwebtoken 登录安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45595313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com