使用 ASP.NET Web API 中的 HTTPOnly JWT 令牌检查 Vue.js 前端中用户的身份验证状态

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

我正在构建一个具有 ASP.NET Web API 后端和 Vue.js 前端的 Web 应用程序。我已经实现了 JWT 身份验证,并出于安全原因将访问令牌存储在 HTTPOnly cookie 中。但是,我在前端检查用户身份验证状态时面临挑战。

由于令牌是 HTTPOnly,因此无法从 JavaScript(包括 Vue.js)访问它。这意味着我无法直接检查用户是否在前端经过身份验证。

我的问题是如何在 Vue.js 前端有效检查用户身份验证状态,同时保持 HTTPOnly JWT 令牌的安全性?有没有推荐的策略或模式来实现这一目标?

vue.js asp.net-web-api cookie-httponly
1个回答
0
投票

您可以在 Web api 中创建授权端点(例如 GetAuthStatus),并在路由更改时在客户端验证它。建议将令牌保留在 HttpOnly cookie 中。

类似这样的事情

[Authorize]
[HttpGet]
public IActionResult GetAuthStatus()
{
     return Ok(new { isAuthenticated = true, userName = User.Identity.Name 
     });
}
© www.soinside.com 2019 - 2024. All rights reserved.