Office 365 休息 api 授权

Office 365 rest api Authorization

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

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

但是对于 Office 365,该过程需要 2 个额外步骤

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

每个将使用我的应用程序的办公室帐户都必须这样做 Microsoft azure 的一些配置步骤。获取密钥、客户端和租户 ID。

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

Every office account that will use my application, must do some configuration steps at Microsoft azure. to get secret key, client it and tenant id.

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

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

在这种情况下,您的应用 user/browser 不需要从 Azure 中提取配置。只有 Web 服务器可以。

  • 如果您的应用是原生应用,当您向身份验证端点发出请求时,您的应用需要在请求中包含 client_id 和重定向 URI。这显示在下面的第一步中。

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

您可以从 https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/

找到有关 Azure AD 身份验证的更多信息