Outlook 加载项中的身份验证选项
06/22/2021
本文内容
Outlook 加载项可以访问 Internet 上任意位置的信息,无论是托管加载项的服务器、内部网络,还是云中的其他位置。 如果相应信息受保护,加载项需要能够验证用户身份。 Outlook 加载项 根据特定场景提供了多种不同的身份验证方法。
单一登录访问令牌
单一登录访问令牌为你的加载项提供了进行身份验证和获取访问令牌以调用 Microsoft Graph API 的无缝方法。 由于不需要用户输入其凭据,此功能可以减少摩擦。
备注
目前,Word、Excel、Outlook 和 PowerPoint 支持单一登录 API。 若要详细了解目前支持单一登录 API 的平台,请参阅 IdentityAPI 要求集。
如果使用的是 Outlook 加载项,请务必为 Microsoft 365 租赁启用新式验证。 若要了解如何执行此操作,请参阅 Exchange Online: How to enable your tenant for modern authentication(如何为租户启用新式体验)。
如果加载项符合以下情况,请考虑使用 SSO 访问令牌:
主要由 Microsoft 365 用户使用
需要访问以下服务:
作为 Microsoft Graph 的一部分公开的 Microsoft 服务
你控制的非 Microsoft 服务
SSO 身份验证方法使用 Azure Active Directory 提供的 OAuth2 代表流。 它要求加载项在应用程序注册门户中进行注册并在其清单中指定任何所需的 Microsoft Graph 作用域。
借助此方法,加载项可以获取作用域为你的服务器后端 API 的访问令牌。 加载项将此令牌用作 Authorization 标头中的持有者令牌,来对 API 回调进行身份验证。 此时,服务器可以:
完成“代表”流来获取作用域为 Microsoft Graph API 的访问令牌
使用令牌中的标识信息创建用户标识并对自己的后端服务进行身份验证
有关在 Outlook 加载项中使用 SSO 令牌的详细信息,请参阅在 Outlook 加载项中使用单一登录令牌对用户进行身份验证。
有关使用 SSO 令牌的加载项示例,请参阅 Outlook 加载项 SSO。
Exchange 用户标识令牌
Exchange 用户标识令牌为加载项提供了一种创建用户标识的方法。 通过验证用户标识,可以对后端系统执行一次性身份验证,然后接受用户标识令牌,来作为对未来请求的授权。 使用 Exchange 用户标识令牌:
当加载项主要由 Exchange 本地用户使用时。
当加载项需要访问你控制的非 Microsoft 服务时。
当加载项在不支持 SSO 的 Office 版本上运行时,要回退身份验证。
通过 OAuth2 流获取的访问令牌
加载项也可以访问支持 OAuth2 进行授权的第三方服务。 如果你的加载项符合以下情况,请考虑使用 OAuth2 令牌:
需要访问不受你控制的第三方服务
使用此方法,加载项会提示用户通过使用 displayDialogAsync 方法初始化 OAuth2 流或使用 office-js-helpers 库 转到 OAuth2 隐式流来登录到服务。
回调令牌
借助回调令牌,可以使用 Exchange Web 服务 (EWS) 或 Outlook REST API 从服务器后端访问用户邮箱。 如果你的加载项符合以下情况,请考虑使用回调令牌:
需要从服务器后端访问用户邮箱。
加载项使用 getCallbackTokenAsync方法之一获取回调令牌。 访问权限级别由加载项清单中指定的权限控制。