C# 如何在与Web API通信的ASP.NET核心MVC应用程序中使用自定义身份验证/授权?
我想在MVC/Razor页面应用程序中使用身份验证/授权,该应用程序使用后端API来处理数据和身份验证令牌。API为有效登录发布访问和刷新JWT,到目前为止,我所做的是调用API,使用HttpClient获取这些令牌,然后将它们存储在cookie中 但是,我必须手动检查令牌,在访问令牌过期时刷新它,并且在用户注销时删除cookie。我想知道是否有一种更合适的方法来使用此功能,即利用ASP.NET Core的身份验证和授权功能(例如使用[Authorize]将某些控制器的权限限制为特定用户。签出,即身份验证(使用OpenIdConnect)和授权服务器(使用OAuth) 然后,在您的WebApp(MVC/Razor和API的客户端)中,只需使用其集成即可。有关如何将ASP.NET MVC设置为Identity Server实例的客户端的示例,请参见Identity Server的官方网站C# 如何在与Web API通信的ASP.NET核心MVC应用程序中使用自定义身份验证/授权?,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我想在MVC/Razor页面应用程序中使用身份验证/授权,该应用程序使用后端API来处理数据和身份验证令牌。API为有效登录发布访问和刷新JWT,到目前为止,我所做的是调用API,使用HttpClient获取这些令牌,然后将它们存储在cookie中 但是,我必须手动检查令牌,在访问令牌过期时刷新它,并且在用户注销时删除cookie。我想知道是否有一种更合适的方法来使用此功能,即利用ASP.NET Core的身份验证和授权功能(例如使用[Authorize]将某些控制器的权限限制为特定用户。签出,
对于刷新令牌,您需要配置您的MVC应用程序以请求
脱机访问
范围。您是否需要每个用户的访问令牌,还是共享访问?用户身份验证是本地进行还是远程进行?内置一体机有何问题?IdentityServer是一个不错的选择,但不进行授权。I我指的是,t确实可以授权应用程序访问其他地方的资源。