不属于我的AzureAd租赁的OAuth用户

时间:2015-06-11 17:38:20

标签: meteor oauth adal

我的公司正在为专业人士构建一个电子邮件客户端,到目前为止它与Google帐户一起使用,但我们也希望支持Outlook365的工作和学校帐户。

我们主要需要访问电子邮件,联系信息和日历,当然OAuth似乎是正确的方法。因此,我们在AzureAd管理门户上注册了我们的应用程序,并开始使用this nice meteor package。我们设法获得了我们公司365个帐户的OAuthentication(@ company.com) - 尽管我们从未见过"授予访问权限?" panel-,用于管理AzureAd的那些;但我们租约中的任何其他帐户都会被403错误拒绝" Authorization_RequestDenied"使用消息"指定的凭据没有足够的权限来发出此请求"。

我正在尝试做什么,如果可以,我该如何实现呢?我可以尝试基于Node.js ADAL从头开始构建Meteor包,但我想知道它是否可行!

1 个答案:

答案 0 :(得分:3)

您需要创建多租户应用程序,或使现有应用程序成为多租户。如果您使用OAuth执行此操作,则您需要使用Azure管理控制台注册URL(Microsoft只允许多租户应用程序与他们可以确认您拥有的完全注册的域名进行交互)。

在AD门户中注册域

Azure AD Domains Tab 当您添加域名后,在输入地址后,系统会提示您选中复选框:语法令人困惑。当它说"我计划配置此域以便使用我的本地Active Directory进行单点登录,"如果您计划使用单点登录但与其他活动目录或其他租户一起使用,请不要选中该框(因此在您的情况下,请取消选中此框)完成以下步骤以验证域。

启用多租户

Turn on multi-tenancy 现在,一旦验证了域,请转到您要使用该域的已注册AD应用程序的配置选项卡(您验证的域必须与相关应用程序的App ID URI相同):否则,您需要更改该app id URI,或者注册其域名 - 简而言之,app id URI必须与已注册的域匹配。

现在,在该应用程序的配置设置中将多租户应用程序设置切换为开启。您应该不再有此400错误,假设这是原因,并且应该能够继续使用不在AD中的Azure AD或Office 365租户使用OAuth。

我引用了更多资源,但说实话,其中很多都没有得到充分利用。 This可以提供更多解释,might this MS resource

注意:请务必使用公共端点进行登录(上面的第一个链接说明了这一点)。