如何在 Azure Active Directory 中制作 Native Client Application 单租户?
Posted
技术标签:
【中文标题】如何在 Azure Active Directory 中制作 Native Client Application 单租户?【英文标题】:How to make Native Client Application single tenant in Azure Active Directory? 【发布时间】:2015-11-27 23:47:44 【问题描述】:我在 Azure Active Directory 中创建了一个本机客户端应用程序,开发了一个 Xamarin android 应用程序并使用 ADAL 库我可以使用任何 Microsoft 电子邮件帐户登录 myapp...但我只想选择我自己的域(我有office365订阅)。
Web 应用程序或 Web api 有一个选择单租户或多租户的复选框,但我在本机客户端应用程序中找不到。
我已尝试下载清单
将“availableToOtherTenants”更改为 false 将“knownClientApplications”更改为我的 clientId 在重定向 url 中使用 https 和 http 尝试了几乎所有有意义或没有意义的方法但没有任何反应,我仍然可以使用任何 Microsoft 帐户登录我的应用。
我应该在收到登录电子邮件后在我的应用程序中进行限制吗??...我认为这很糟糕。
更多信息...
我已经设法做到了以下几点:
将 MANIFEST“availableToOtherTenants”更改为“true” 将 MANIFEST “knownClientApplications”更改为我的 ClientId 使用授权url调用api:“https://login.windows.net/common”(不是我的租户ID)结果:
我只能使用我的域登录,但任何其他 Microsoft 帐户都会从 ADAL 库中引发未处理的异常(与用户取消登录时的未处理异常相同)
【问题讨论】:
【参考方案1】:Azure 广告中的所有原生客户端都自动成为多租户。但是,您可以使用您自己的租户(例如)的权限初始化您的 AuthenticationContext,并且只有您自己的用户才能使用它获得令牌。在您的 Web API 上,您必须检查用户是否仅来自该租户,但如果您在中间件初始化中指定租户而不是 common。
【讨论】:
我尝试在授权 URL 中将“common”更改为“以上是关于如何在 Azure Active Directory 中制作 Native Client Application 单租户?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Azure Active Directory 检索用户信息
如何在 Azure Active Directory 中制作 Native Client Application 单租户?
来宾用户如何在 Azure Active Directory 中重置其 MS Authenticator MFA 设置?