【发布时间】:2019-08-05 08:17:46
【问题描述】:
我已将我的 REST Api 项目注册到我的 AzureAD 中,因此我可以使用 AzureAD 身份验证。让我们将此应用程序称为“RestApi”。
我还注册了另一个控制台应用程序,它将访问此 API。让我们称之为“ConsoleClient”。
我如何限制访问以便只有 ConsoleClient 能够访问RestApi?我可以为用户(企业应用 -> 用户和组)设置类似的权限,但不能为其他 Azure AD 应用设置。
【问题讨论】:
-
您必须在 API 中定义应用权限。我的博客文章详细介绍了如何做到这一点:joonasw.net/view/defining-permissions-and-roles-in-aad
-
我能够设置应用程序权限。因此,默认情况下,我的租户中每个经过身份验证的 Azure 应用程序都能够登录到我的 API。我无法在 Azure 端限制应用程序,我必须使用给定角色在代码中进行自定义身份验证?
-
您必须在 API 中检查任何访问令牌是否具有有效权限。所以是的,您必须在应用权限的情况下检查角色声明。
-
@juunas,在回答中遵守这一点,以便正确投票!
-
完成 :) 添加了答案
标签: azure azure-active-directory