Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        在8个月前关闭。
                    
                
        

我对代币有很多疑问


用户登录并注册时(或仅登录),我应该创建令牌吗?
我应该将令牌保存在本地存储中吗?
每个请求用户发出请求后,我都应该发送令牌吗?
我应该仅在注销后销毁令牌吗?
用户注册后,他/她将在这里拥有令牌,我应该将令牌保存在本地存储中;他/她将登录后,我应该替换令牌,因为他/她将拥有一个新的令牌。
我应该销毁令牌并制作一个新令牌并在本地存储中替换它吗?
最后一个问题,用户注册后如何使用令牌让用户立即登录?


对不起,你们很累,但是当我尝试做身份验证时,这些问题浮现在我脑海

最佳答案

1-仅登录

2-否“如果将其存储在localStorage中,则页面中的任何脚本都可以访问它(听起来很糟糕,因为XSS攻击可以让外部攻击者访问令牌)。”相反,您可以将其保存在HttpOnly cookie中

3-是的,您还必须验证

4-这取决于您是否需要将其保存以用于历史记录和修订版用户事务,因此请保存它,如果您不这样做则将其删除

5-如果用户拥有有效的令牌,则必须将用户重定向到您的应用程序,因此如果他具有有效的令牌,则无法打开登录页面,要再次登录,他必须注销,如果再次登录,该怎么办我要删除旧令牌吗?不要,因为他可能是从其他设备打开了您的应用

6-将令牌返回到前端,保存该令牌,然后将用户重定向到应用页面而不是登录名。

关于主要问题标题,何时删除令牌?

1-登出

2-您可以进行日常检查(工作或从代码)以查找过期的令牌并将其删除。

3-在任何Web服务中收到过期令牌后,将其删除并将用户重定向到登录页面

关于javascript - 我什么时候应该销毁 token ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57736264/

10-16 20:57