1

我们正在开发 WEB API,并希望为 AuthN 和 AuthZ 集成 Azure AD。我们已经成功地整合了它。我们已经创建了企业应用程序、自定义角色,并为其分配了用户。现在我们需要允许使用 AWS 之类的密钥(秘密/访问密钥)访问 API。单个用户可以生成自己的密钥并将其存储在 Azure AD 中,以便在使用这些密钥时,可以对用户进行身份验证

我没有找到使用 Azure AD 实现此目的的任何方法。欢迎任何相同的建议。同时,我已经通过自定义商店获取钥匙。请参考链接:https ://www.codeproject.com/Articles/1228892/Securing-ASP-NET-CORE-Web-API-using-Custom-API-Key

提前致谢。

4

1 回答 1

1

Azure AD 身份验证使用令牌。因此,任何希望调用您的 API 的应用程序都必须通过 AAD 进行身份验证并获取 API 的令牌。

如果这些用户在您的组织内制作应用程序,那么他们可以在您的 AAD 中注册他们的应用程序并要求访问您的 API。他们将创建和管理自己的密钥。

另一方面,如果这些用户正在为另一个组织制作应用程序,则您必须使您的 API 成为多租户应用程序。您需要在您的 API 中有一个入职页面,通过该页面您将他们的管理员/用户重定向到 AAD 登录页面,他们将同意您的 API 所需的任何权限。在此之后,在其租户中创建服务主体。然后他们可以注册他们的客户端应用程序并要求访问您的 API。他们将完全控制要分配给每个应用程序的权限,赋予用户的角色等。当然,令牌将包含他们的租户 ID,因此您可以过滤访问权限。

于 2019-03-28T14:43:17.350 回答