【问题标题】:OAuth-ing users not belonging to my AzureAd tenancy不属于我的 AzureAd 租户的 OAuth 用户
【发布时间】:2015-08-27 13:21:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: meteor oauth adal


    【解决方案1】:

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

    在 AD 门户中注册域

    添加域时,输入地址后,系统会提示您一个复选框选项:措辞令人困惑。当它显示“我计划将此域配置为使用本地 Active Directory 进行单点登录”时,如果您计划使用单点登录但与其他 Active Directory 或其他租户一起使用,请不要选中该框(因此在您的情况下,不选中该框)完成验证域的步骤。

    开启多租户

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

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

    我会引用更多资源,但老实说,其中很多内容根本没有得到很好的讨论。 This 可以提供更多解释,如might this MS resource

    注意:确保使用通用端点登录(上面的第一个链接说明了这一点)。

    【讨论】:

    • 您好,ilkahnate,感谢您的回答!在授权代码请求时将我的tenantId 更改为“common”允许我从 403 错误传递到 invalid_grant 400 错误,并显示消息“提供的访问授权无效或格式错误”。仅当我的租户之外的地址尝试连接时,我才会收到此错误。租约中的地址成功。这是一个进步!我对“在 AD 门户中注册域”部分有点困惑。我应该注册哪个域,我要授予访问权限的电子邮件地址之一,还是我的 Web 应用程序的地址?我做了第二个。
    • 您需要注册您正在创建的网络应用程序的网址。注册后,您应该能够翻转切换开关并使用相应的 URL 保存应用程序的设置。不过,我对这个错误了解不多:发布您的 OAuth 代码可能不是一个坏主意,但请确保您能够首先使您的应用程序成为多租户。
    • 如果我想测试本地应用程序怎么办?localhost:3000 不是有效的域值。但无论如何我都可以将开关设置为多租户。我解决了我的问题:我只在授权代码请求 url 中设置了“common”。在令牌请求中设置它也允许我获取令牌。现在,我被困在对 graph.windows.net/<tennantId>/me?api-version=2013-11-08graph.windows.net/<tennantId>/users/… 对于租户内的用户,但对于其他用户失败。将 替换为“common”会系统地失败
    猜你喜欢
    • 2013-06-05
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2014-10-14
    • 2012-12-20
    • 2018-12-24
    相关资源
    最近更新 更多