.NET核心WebApi身份验证&;通过Azure授权
我正在寻找用Azure验证我的.NET核心API的最佳方法。 API应仅可供具有有效密钥的人员或其他应用程序访问 我需要能够做到以下几点:.NET核心WebApi身份验证&;通过Azure授权,.net,azure,asp.net-core,asp.net-web-api,.net,Azure,Asp.net Core,Asp.net Web Api,我正在寻找用Azure验证我的.NET核心API的最佳方法。 API应仅可供具有有效密钥的人员或其他应用程序访问 我需要能够做到以下几点: 在Azure中添加一个新令牌,供客户/应用程序访问API 设置令牌的激活和过期日期(或启用和禁用) 在.NET Core中,使用[Authorize]属性来授权用户访问端点 用Azure实现这一点的最佳解决方案是什么 我正在考虑Azure Key Vault,但我不知道如何在Azure Key Vault中使用[Authorize]属性 或 还有其他解决
- 在Azure中添加一个新令牌,供客户/应用程序访问API
- 设置令牌的激活和过期日期(或启用和禁用)
- 在.NET Core中,使用[Authorize]属性来授权用户访问端点
您可以参考这一点,ASP.NET Web应用程序使用OpenID连接中间件和Active Directory身份验证库(ADAL.NET)使用OAuth 2.0协议为登录用户获取JWT承载令牌。承载令牌被传递到web API,web API使用JWT承载认证中间件验证令牌并授权用户。Ok,那么它是如何工作的呢?我定义了一个应该可以访问API的用户/应用程序,然后Azure为我生成了一个Jwt令牌,我可以将该令牌提供给该用户/应用程序,他必须在每个请求中提供该令牌?您使用客户端应用程序获取Jwt令牌。并使用令牌对核心api进行身份验证。但是客户端应用程序应该有一个共享令牌(我将向他提供一个令牌)。当您使用客户端应用程序(如控制台应用程序)来获取jwt令牌时,这是一个REST API。