不属于我的 AzureAd 租户的 OAuth ing 用户
OAuth-ing users not belonging to my AzureAd tenancy
我的公司正在为专业人士构建一个电子邮件客户端,目前它可以使用 Google 个帐户,但我们也希望支持 Outlook365 工作和学校帐户。
我们主要需要访问电子邮件、联系信息和日历,当然 OAuth 似乎是正确的方式。因此,我们在 AzureAd 管理门户上注册了我们的应用程序,并开始使用 this nice meteor package。我们设法获得了我们公司 (@company.com) 的 365 帐户的 OAuthentication - 尽管我们从未见过 "Grant Access?" 面板 - 用于管理 AzureAd 的那些;但是我们租约之外的任何其他帐户都被拒绝并显示 403 错误 "Authorization_RequestDenied" 并显示消息 "The specified credentials do no have sufficient privileges to make this request".
我想做的事情是否可行,如果可行,我该如何实现?我可以尝试基于 Node.js ADAL 从头开始构建一个 Meteor 包,但我更想知道它是否可行!
您需要创建多租户应用程序,或使现有应用程序成为多租户应用程序。如果您使用 OAuth 执行此操作,则需要使用 Azure 管理控制台注册 URL(Microsoft 将只允许多租户应用程序与他们可以确认您拥有的完全注册域名进行交互)。
在 AD 门户中注册域
添加域时,输入地址后,系统会提示您有一个复选框选项:措辞混乱。当它说“我计划将此域配置为使用我的本地 Active Directory 进行单点登录”时,如果您打算使用单点登录但使用其他 Active Directory 或其他租户,请不要选中该框(因此在您的情况下, 不选中此框)完成验证域的步骤。
开启多租户
现在,验证域后,转到要使用该域的已注册 AD 应用程序的配置选项卡(您验证的域必须与相关应用程序的 App ID URI 相同):否则,您要么需要更改该应用程序 ID URI,或同时注册其域——简而言之,应用程序 ID URI 必须与已注册的域匹配。
现在,在该应用程序的配置设置中将多租户应用程序设置切换为打开。您应该不会再遇到此 400 错误,假设这是原因,并且应该能够使用 Azure AD 或不在您的 AD 中的 Office 365 租户继续使用 OAuth。
我会引用更多资源,但老实说,其中很多根本没有得到很好的讨论。 This can provide more of an explanation, as might this MS resource.
注意: 确保使用通用端点进行登录(上面的第一个 link 对此进行了说明)。
我的公司正在为专业人士构建一个电子邮件客户端,目前它可以使用 Google 个帐户,但我们也希望支持 Outlook365 工作和学校帐户。
我们主要需要访问电子邮件、联系信息和日历,当然 OAuth 似乎是正确的方式。因此,我们在 AzureAd 管理门户上注册了我们的应用程序,并开始使用 this nice meteor package。我们设法获得了我们公司 (@company.com) 的 365 帐户的 OAuthentication - 尽管我们从未见过 "Grant Access?" 面板 - 用于管理 AzureAd 的那些;但是我们租约之外的任何其他帐户都被拒绝并显示 403 错误 "Authorization_RequestDenied" 并显示消息 "The specified credentials do no have sufficient privileges to make this request".
我想做的事情是否可行,如果可行,我该如何实现?我可以尝试基于 Node.js ADAL 从头开始构建一个 Meteor 包,但我更想知道它是否可行!
您需要创建多租户应用程序,或使现有应用程序成为多租户应用程序。如果您使用 OAuth 执行此操作,则需要使用 Azure 管理控制台注册 URL(Microsoft 将只允许多租户应用程序与他们可以确认您拥有的完全注册域名进行交互)。
在 AD 门户中注册域
开启多租户
现在,在该应用程序的配置设置中将多租户应用程序设置切换为打开。您应该不会再遇到此 400 错误,假设这是原因,并且应该能够使用 Azure AD 或不在您的 AD 中的 Office 365 租户继续使用 OAuth。
我会引用更多资源,但老实说,其中很多根本没有得到很好的讨论。 This can provide more of an explanation, as might this MS resource.
注意: 确保使用通用端点进行登录(上面的第一个 link 对此进行了说明)。