如何使用Azure Active Directory、应用程序注册和企业应用程序保护API



我在Azure网站中有一个后端API,我喜欢使用Azure AD保护它。

据我所知,我将首先进行应用程序注册,使用信息注册作为登录的一部分,将令牌返回到客户端。

然后我可以将该令牌发送到API,并在后端API中验证该令牌以进行验证

但是,该令牌难道不能访问订阅中的所有资源吗?如何限制应用程序注册仅允许访问特定的API?订阅中没有另一个API吗?

我还希望有一组用户可以访问API。如果我只允许每个人使用应用程序注册登录,我的AD中的每个人都会收到一个令牌?

我是否可以以某种方式使用企业应用程序来限制仅访问API并仅允许一组用户访问?

或者还有其他方法吗?

但是该令牌不允许访问订阅中的所有资源吗?如何限制应用程序注册仅允许访问特定的API?订阅中没有另一个API吗?

令牌仅允许访问由令牌中的受众(aud(声明标识的API。没什么了。因此,如果您的客户端应用程序要求提供API的访问令牌,则该令牌仅在该API上有效。

我还希望有一组用户可以访问API。如果我只允许每个人使用应用程序注册登录,我的AD中的每个人都会收到一个令牌?

我是否可以以某种方式使用企业应用程序来限制仅访问API并仅允许一组用户访问?

是。您可以找到API的企业应用程序(服务主体(,启用需要用户分配,然后从企业应用程序的"用户/组"选项卡分配您希望访问API的用户/组。

对于未分配的用户,访问令牌获取将失败。

如果您对客户端和API使用相同的应用程序注册,那么您必须记住,无论调用API,都应该获取访问令牌。不要使用id令牌。同样在这种情况下,未分配给该应用程序的用户将无法登录。

最新更新