【发布时间】:2023-04-01 07:04:01
【问题描述】:
我目前正计划在 Blazor Webassembly (NET Core 3.1) 中制作一个在线调度程序。由于我大部分时间都在编写 Intranet 应用程序,因此我有点担心客户端将使用的 Web api 的安全方面。
目前,我们正在从后端向客户端发出带有用户名和令牌有效性(以小时为单位)的 JWT 令牌,并将所述令牌存储在浏览器的本地存储中。由于用户可以访问令牌并且可以从中提取声明,因此我有什么需要注意的吗?然后,在用户登录后,该令牌被设置为 HttpClient 的 DefaultRequestHeader。然后,一个 cusotm 中间件验证该令牌,并在用户通过身份验证时在范围服务中设置用户名。
用户(客户和员工)存储在不可公开访问的数据库中。没有通过网站注册用户的选项。用户可以在公司的多个位置(不能在同一时间/一天)创建约会,但是您如何限制用户在一个位置使用 api 端点而不在另一个位置使用?由于声明可以被操纵,我真的没有信心将可访问的位置写入 jwt。
一些动作也需要在四眼主体中执行,例如第二个用户需要登录(如果可能,30 秒有效期并刷新)以确认操作。有没有现有的机制可以处理这样的事情?
欢迎任何建议、来源或想法。如有必要,请随时询问更多详细信息。
【问题讨论】:
标签: c# authentication authorization asp.net-core-webapi blazor-webassembly