0

我目前在我的应用程序中使用 EWS 来访问 Exchange 数据。我想使用 rest api 为 Office365 添加功能。

使用 EWS,授权非常简单,只需在标题中添加授权标签,用户名和密码 base64 编码,我相信它被称为基本授权。

但是使用 Office 365,该过程需要额外的 2 个步骤在此处输入图像描述

在上图中,您可以看到我的应用程序和 office365 之间有 2 个步骤。

每个将使用我的应用程序的 office 帐户都必须在 Microsoft azure 上执行一些配置步骤。获取密钥、客户端和租户 ID。

我想避免这种情况,理想情况下用户只需要输入他的凭据,这样我就可以通过编程方式访问他在 Office 365 中的所有数据。

4

1 回答 1

1

每个将使用我的应用程序的 office 帐户都必须在 Microsoft azure 上执行一些配置步骤。获取密钥、客户端和租户 ID。

如果我正确理解您的问题,您想避免为您的应用用户配置 client_id、密钥的所有步骤吗?

  • 如果您的应用程序是基于浏览器的 Web 应用程序,则图表上的“应用程序”块实际上由 Web 服务器和用户/浏览器组成。在这种情况下,只有 Web 服务器需要从 Azure 中拉取配置、client_id、secrect 等......这就是说,用户/Web 浏览器只需要输入他的凭据,并且在隐式同意的情况下,您的应用程序将拥有访问用户的数据。这样的工作流程可以描述如下, 在此处输入图像描述

在这种情况下,您的应用用户/浏览器不需要从 Azure 中提取配置。只有网络服务器可以。

  • 如果您的应用是原生应用,当您向 auth 端点发出请求时,您的应用需要在请求中包含 client_id 和重定向 URI。这在下面的第一步中显示。 在此处输入图像描述

在这种情况下,您的应用用户可以使用相同的 client_id 和重定向 URI,您不需要“强制”他们创建自己的,因此他们只需要输入用户名和密码。

您可以从https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/找到有关 Azure AD 身份验证的更多信息

于 2016-05-20T01:46:41.083 回答