我正在使用bearde令牌在MVC中构建Web应用程序。一切都很好但我有一点问题。
当我登录时,我在会话存储中设置访问令牌。对于每个请求,我都会获得令牌。到现在为止还挺好。授权工作正常。
但是当我关闭计算机时,或者几个小时后,我发现我的浏览器事件中sessionStorage是空的,虽然我的网络应用程序说identity.user.isAuthenticated仍然是真的吗?这怎么可能?
或者我在会话存储中设置访问令牌是错误的吗?
对不起,我没有代码示例,但代码受到保护。
感谢您的帮助!
答案 0 :(得分:0)
您的浏览器的 sessionStorage 并不知道您的身份验证与否。它只存储从服务器收到的bool值,表示在具体时刻您已经过验证。但是,身份验证是在服务器端进行的,只有在服务器端才会知道您是否已经过身份验证。
您可能存储在 sessionStorage 中的是您的令牌和刷新令牌。该令牌将用于验证会话的每个请求。如果您的令牌已过期,将使用刷新令牌。
在您评论的情况下,我非常确定即使在您的sessionStorage中说您已通过身份验证,当您尝试使用过期令牌访问时,这也会失败。