我希望使用 Microsoft 身份平台 - Azure Active Directory - 来管理我的应用程序的身份验证。
我使用 v2.0 端点。
我已在新的应用程序注册门户 (apps.dev.microsoft.com
) 中注册了我的应用程序,它现在显示在 Azure Active Directory 下的主 Azure 门户中> 应用程序注册
我需要将对我的应用程序的访问限制为某些组织 - 我正在假设这意味着我需要允许访问一组特定的 AD 租户。
在应用程序 list 中,有一个 signInAudience
属性,其选项为 AzureADMyOrg
、AzureADMultipleOrgs
和 AzureADandPersonalMicrosoftAccount
>
AzureADMultipleOrgs
听起来最接近我正在寻找的内容,但到目前为止,这意味着拥有 AD 帐户的任何人都可以访问我的应用程序。
我遇到过 orgRestrictions
属性 ( https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-reference/beta/resources/application.md ) 的文档,听起来很有用,但它只是说保留供将来使用
我认为这是一个常见的用例,例如只允许订阅您产品的组织进行访问,但我没有找到直接的方法。
最佳答案
I assume this is a common use case e.g. only allow access to organisations that subscribe to your product, but I don't see a straightforward way to do it.
是的,大多数 Multi-Tenancy 示例都展示了这一点。
目前无法规定给定应用程序应允许从 X 和 Y 登录,因此它必须允许所有 Azure AD 租户。
(尽管这是一个被强烈要求的功能)
然后,经过身份验证后,您的应用可以检查 tid
声明。
例如,您可以从数据库检查该租户是否具有有效的订阅。
如果不这样做,请将他们重定向到错误页面并且不要登录。
关于azure - 将 Azure Active Directory 应用程序访问限制为特定租户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52682803/