【发布时间】:2021-04-18 20:24:53
【问题描述】:
我有一个 ASPNET Core API 处理身份框架,但我还有另一个使用 ASPNET MVC 的 Web 应用程序,我希望使用我已经管理身份的相同 API 来处理会话/身份。
如何在我想要使用 [Authorize] 标记或需要可以使用声明检索的角色的控制器中管理 JWT?
我试图找到与此相关的示例,但我仅使用 Views 在同一 API 上混合使用 MVC Core 获得有关 API 的内容。
我想为我的用户提供刷新令牌按钮(可能处理 AJAX?)和 X 分钟的跨度长度,例如,在他们需要刷新以获取新令牌之前
【问题讨论】:
-
我不会添加一个允许他们刷新它的按钮;听起来不安全,无论如何这对用户来说应该是透明的。您需要发出并使用刷新令牌来获取访问令牌,并且刷新令牌通常是长期存在的。如果它过期了;您应该回退到用于获取初始令牌的授权类型。
-
但是我如何在我的 [Authorize] 中处理这个 JWT使用我的 API
-
您需要在 api 中添加配置,以便它可以检查令牌的有效性。然后授权将正常工作。在您的 Startup 课程中,您将拥有类似于:
services.AddAuthentication(...).AddJwtBearer(...)....
标签: c# asp.net-mvc api asp.net-core asp.net-identity