我正在寻找通过Azure验证我的.NET Core API的最佳方法。 只有拥有有效密钥的人员或其他应用程序才能访问该API。
我需要具备以下条件:
使用Azure做到这一点的最佳解决方案是什么?
我当时在考虑 Azure Key Vaults ,但我不知道如何将Azure Vault Vault中的[Authorize]属性使用?
OR
还有其他解决方案吗?
谢谢!
答案 0 :(得分:1)
我当时在考虑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)来使用登录ID获取JWT承载令牌。 OAuth 2.0协议。承载令牌将传递到Web API,Web API使用JWT承载认证中间件来验证令牌并授权用户。