为什么必须使用 Azure Active Directory 从 CRM 外部通过 Web API 访问 CRM 在线实例?

Why is it mandatory to use Azure Active Directory for accessing CRM online instance through Web API from outside CRM?

我很想知道为什么我们总是需要在 Azure Active Directory 上注册我们的 CRM 在线实例,以便在从外部 CRM 域访问时对 Web API 进行身份验证。

也就是说,例如,如果我需要使用 CRM 的 Web API 端点通过另一个网站访问 CRM 在线实例,那么我必须将我的 CRM 实例注册到 Azure Active Directory。 虽然我知道创建 Azure Active Directory 的费用非常低,但我仍然需要订阅 Azure,即使我只是想通过 Web API.[=11 对 CRM 连接进行一些一般性研究。 =]

为什么这是必须的?这背后是否有任何安全考虑?

为什么我们不能使用与组织服务相同的身份验证机制?

如能提供任何详细信息,我们将不胜感激。

CRM WebAPI 使用 OAuth2,而 Azure AD 是目前唯一支持提供此功能的身份验证平台(Windows Server 2016 将支持内部部署的 OAuth2)。

组织服务是一个 WCF 服务,因此使用 SOAP 进行身份验证和授权。这是一个完全不同的技术堆栈,带来了它自己的一系列问题,OAuth2 协议试图在这种情况下解决其中的许多问题。

虽然您通过 Office 365 门户管理您的 CRM Online 用户,但这些帐户的基础技术也是 Azure AD。检查您是否可以使用作为订阅的一部分创建的现有 AD 租户,而不必创建另一个。

如果您在线使用 CRM,则您已经拥有 Azure Active Directory。如果您还没有这样做,您可以注册 Azure 订阅并将基础 AAD 导入到您的 Azure 订阅中。您将需要一张信用卡,但据我所知,使用 Azure AD 是免费的。