首页 > 解决方案 > 使用 JWT 的 Asp Net Core 身份验证

问题描述

我目前正计划在 Blazor Webassembly (NET Core 3.1) 中制作一个在线调度程序。由于我大部分时间都在编写 Intranet 应用程序,因此我有点担心客户端将使用的 Web api 的安全方面。

目前,我们正在从后端向客户端发出带有用户名和令牌有效性(以小时为单位)的 JWT 令牌,并将所述令牌存储在浏览器的本地存储中。由于用户可以访问令牌并且可以从中提取声明,因此我有什么需要注意的吗?然后在用户登录后将令牌设置为 HttpClient 的 DefaultRequestHeader。如果用户通过身份验证,则 cusotm 中间件会验证令牌并在范围服务中设置用户名。

用户(客户和员工)存储在不可公开访问的数据库中。没有通过网站注册用户的选项。用户可以在公司的多个位置(不能在同一时间/一天)创建约会,但是您如何限制用户在一个位置使用 api 端点而不在另一个位置使用?由于可以操纵声明,我真的没有信心将可访问的位置写入 jwt。

一些动作还需要在四眼主体中执行,例如,第二个用户需要登录(30 秒有效期,如果可能,请刷新)以确认动作。是否存在能够处理此类事情的现有机制?

欢迎任何建议、来源或想法。如有必要,请随时询问更多详细信息。

标签: c#authenticationauthorizationasp.net-core-webapiblazor-webassembly

解决方案



推荐阅读