Oauth 2.0 如何配置用户访问受Azure AD oAuth2保护的API

Oauth 2.0 如何配置用户访问受Azure AD oAuth2保护的API,oauth-2.0,active-directory,azure-active-directory,Oauth 2.0,Active Directory,Azure Active Directory,我们有一个现有的“私有/内部”API(非MS/Azure),我们希望通过Azure AD提供的oAuth2来保护它,因此,Azure AD管理员可以维护用户对API的访问 这样做的方法似乎是将API配置为Azure AD中的web应用程序。然后,用户可以从Azure oAuth2服务器获取授权令牌并将其发送到API(例如,从单页web应用程序) 据我所知,API将验证令牌中接收到的范围,并就访问做出决定 但我不知道如何在Azure AD中针对用户配置API访问范围。即,如何在Azure AD中链

我们有一个现有的“私有/内部”API(非MS/Azure),我们希望通过Azure AD提供的oAuth2来保护它,因此,Azure AD管理员可以维护用户对API的访问

这样做的方法似乎是将API配置为Azure AD中的web应用程序。然后,用户可以从Azure oAuth2服务器获取授权令牌并将其发送到API(例如,从单页web应用程序)

据我所知,API将验证令牌中接收到的范围,并就访问做出决定

但我不知道如何在Azure AD中针对用户配置API访问范围。即,如何在Azure AD中链接特定用户和API范围

有人能给点建议吗


多谢各位

配置应用程序时,可以启用“需要用户分配”(在Azure门户的企业应用程序属性中),然后配置哪些用户或组应该具有访问权限

或者,如果需要更大的粒度,可以使用基于角色的访问,在应用程序清单()中定义角色,然后将用户分配给不同的角色

API控制器或其中的操作上的
[Authorize]
属性可以配置为访问它们所需的角色,如下所示:
[授权(Roles=“Admin,Writer,Approver”)]
(三个指定角色中的任何一个都有访问权限)


有一个示例演示了这一点。

配置应用程序时,可以启用“需要用户分配”(在Azure门户的企业应用程序属性中),然后配置哪些用户或组应该具有访问权限

或者,如果需要更大的粒度,可以使用基于角色的访问,在应用程序清单()中定义角色,然后将用户分配给不同的角色

API控制器或其中的操作上的
[Authorize]
属性可以配置为访问它们所需的角色,如下所示:
[授权(Roles=“Admin,Writer,Approver”)]
(三个指定角色中的任何一个都有访问权限)


有一个例子可以证明这一点。

您所说的大部分内容都是正确的,但我在“如何在Azure AD中链接特定用户和API范围”一文中失去了您。您是否只希望一个用户能够访问API?这是公共API还是私有API?我已经更新了描述。这是一个内部API,我们希望通过仅向选定用户授予Azure广告中的访问权限来控制谁可以调用它。您所说的大部分内容都是正确的,但我在“如何链接Azure广告中的特定用户和API范围”一文中失去了您。您是否只希望一个用户能够访问API?这是公共API还是私有API?我已经更新了描述。这是一个内部API,我们希望通过仅向选定用户授予Azure AD中的访问权限来控制谁可以调用它。我已经厌倦了设置“需要用户分配”,但描述说它“仅在为基于SAML的SSO或WIA配置Azure AD的应用程序时启用”。那么,它能在非WAI应用程序上与oAuth2一起工作吗?我已经厌倦了设置“所需的用户分配”,但描述说它“仅在为基于SAML的SSO或带有Azure AD的WIA配置的应用程序中启用”。那么,它会在非WAI应用程序上与oAuth2一起工作吗?