C# 如何在ASPNET核心MVC中处理JWT

C# 如何在ASPNET核心MVC中处理JWT,c#,asp.net-mvc,api,asp.net-core,asp.net-identity,C#,Asp.net Mvc,Api,Asp.net Core,Asp.net Identity,我有一个ASPNET核心API处理身份框架,但我也有另一个使用ASPNET MVC的web应用程序,我希望使用与管理身份相同的API处理会话/身份 我如何在我想要用[Authorize]标记或需要使用声明检索角色的控制器中管理JWT 我试图找到与此相关的示例,但我只使用视图在同一个API上混合使用MVC内核来获取有关API的内容 我想给我的用户刷新令牌按钮(也许处理了Ajax)和x分钟的跨度,例如在刷新之前要获得新的令牌 你已经在API上进行了验证,所以你不必考虑MVC中的身份。我建议API只考

我有一个ASPNET核心API处理身份框架,但我也有另一个使用ASPNET MVC的web应用程序,我希望使用与管理身份相同的API处理会话/身份

我如何在我想要用[Authorize]标记或需要使用声明检索角色的控制器中管理JWT

我试图找到与此相关的示例,但我只使用视图在同一个API上混合使用MVC内核来获取有关API的内容


我想给我的用户刷新令牌按钮(也许处理了Ajax)和x分钟的跨度,例如在刷新之前要获得新的令牌

你已经在API上进行了验证,所以你不必考虑MVC中的身份。我建议API只考虑认证和受保护的资源,MVC只考虑与用户的交互。 在api中配置jwt,并使用
[Authorize]
保护api中的授权资源。将经过身份验证的令牌保存在cookie或会话中

关于刷新令牌,您可以使用ajax延长过期时间。

我不会添加允许他们刷新的按钮;听起来不安全,无论如何这对用户来说应该是透明的。您需要发出并使用刷新令牌来获取访问令牌,而刷新令牌通常是长期存在的。如果到期;您应该回到用于获取初始令牌的授权类型。但是我如何在我的[Authorize]中处理此JWT我如何知道我已将某人签名到该API中如果内容不是来自该API,我想使用我的API将auth添加到我的MVC内容您需要向API添加配置,以便它可以检查令牌的有效性。那就行了。在你的创业课程中,你会有类似的东西:
服务。AddAuthentication(…)。AddJwtBearer(…)…
。欣赏整个绘画,如果没有这些,我将无法理解,这非常有用。我会在我完成后提供代码,顺便问一句,这是安全的和良好的做法吗?是的,它们相对安全,因为令牌是用密钥加密的。此外,还可以对过期时间进行加密。