。Azure的.NET Core WebApi身份验证和授权

问题描述 投票:0回答:1

我正在寻找通过Azure验证我的.NET Core API的最佳方法。只有拥有有效密钥的人员或其他应用程序才能访问该API。

我需要具备以下条件:

  • 为客户/应用程序添加Azure内部的新令牌以访问API
  • 设置令牌的激活和到期日期(或启用和禁用)
  • 在.NET Core中,使用[Authorize]属性授权用户访问端点

使用Azure做到这一点的最佳解决方案是什么?

我正在考虑Azure Key Vaults,但我不知道如何将Azure Vault的[Authorize]属性使用?

OR

还有其他解决方案吗?

谢谢!

.net azure asp.net-core asp.net-web-api
1个回答
0
投票

我正在考虑Azure密钥保管库,但我不知道如何将[Authorize]属性与Azure密钥保管库一起使用?

您不能使用Azure密钥库来验证您的核心webapi。因为Azure Key Vault用于安全存储和访问机密的工具。秘密是您想要严格控制访问权限的任何事物,例如API密钥,密码或证书。

还有其他解决方案吗?

在ASP.NET Core中,您可以使用Microsoft身份平台和Azure Active Directory对Webapi进行身份验证和授权。

您可以参考此tutorial,ASP.NET Web应用程序使用OpenID Connect中间件和Active Directory身份验证库(ADAL.NET)来为使用OAuth 2.0协议的已登录用户获取JWT承载令牌。承载令牌传递到Web API,Web API使用JWT承载认证中间件来验证令牌并授权用户。

© www.soinside.com 2019 - 2024. All rights reserved.