将AEM Forms与Microsoft® Office 365邮件服务器协议集成 oauth2-support-for-the-microsoft-mail-server-protocols

为了让组织遵守安全电子邮件要求,AEM Forms提供了OAuth 2.0支持与Microsoft® Office 365邮件服务器协议集成。 您可以使用Azure Active Directory (Azure AD) OAuth 2.0身份验证服务连接各种协议(如IMAP、POP或SMTP),并访问Office 365用户的电子邮件数据。 以下是配置Microsoft® Office 365邮件服务器协议以通过OAuth 2.0服务进行身份验证的分步说明:

  1. 登录到https://portal.azure.com/并在搜索栏中搜索​ Azure Active Directory,然后单击结果。
    或者,您可以直接浏览到 https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview

  2. 单击​ 添加 > 应用程序注册 > 新注册

    应用程序注册

  3. 根据您的要求填写信息,然后单击​ 注册。
    支持的帐户
    在上例中,已选择任何组织目录(任何Azure AD目录 — 多租户)中的​ 帐户和个人Microsoft®帐户(例如,Skype、Xbox) ​选项。

    note note
    NOTE
    • 对于任何组织目录(任何Azure AD目录 — 多租户)应用程序中的 ​帐户,Adobe建议您使用工作帐户,而不是个人电子邮件帐户。
    • 仅个人Microsoft®帐户 ​应用程序不受支持。
    • Adobe建议您使用​ 多租户和个人Microsoft®帐户 ​应用程序。
  4. 接下来,转至​ 证书和密码,单击​ 新建客户端密码,然后执行屏幕上显示的步骤来创建密码。请务必记下此secret值供以后使用。

    密钥

  5. 若要添加权限,请转到新创建的应用程序,然后选择​ API权限 > 添加权限 > Microsoft® Graph > 委派权限

  6. 选中应用程序的以下权限对应的复选框,然后单击​ 添加权限

    • IMAP.AccessUser.All
    • Mail.Read
    • offline_access
    • POP.AccessAsUser.All
    • SMTP.Send
    • User.Read

    API权限

  7. 选择​ 身份验证 > 添加平台 > Web,然后在​ 重定向Url ​部分中,添加以下任意URI(通用资源标识符)作为:

    • https://login.microsoftonline.com/common/oauth2/nativeclient
    • http://localhost

    在这种情况下,https://login.microsoftonline.com/common/oauth2/nativeclient被用作重定向URI。

  8. 添加每个URL后单击​ 配置,并根据您的要求配置设置。
    重定向URI

    note note
    NOTE
    必须选中​ 访问令牌 ​和​ ID令牌 ​复选框。
  9. 单击左侧窗格中的​ 概述,并复制​ 应用程序(客户端) ID目录(租户) ID ​和​ 客户端密钥 ​的值供以后使用。

    概述

生成授权码 generating-the-authorization-code

接下来,必须生成授权码,如以下步骤所述:

  1. clientID替换为<client_id>并在浏览器中打开以下URL,将redirect_uri替换为您的应用程序的重定向URI:

    https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=[clientid]&scope=IMAP.AccessAsUser.All%20POP.AccessAsUser.All%20SMTP.Send%20User.Read%20Mail.Read%20offline_access&response_type=code&redirect_uri=[redirect_uri]&prompt=login

    note note
    NOTE
    如果存在单个租户应用程序,请在以下URL中将common替换为您的[tenantid]以生成授权代码: https://login.microsoftonline.com/[tenantid]/oauth2/v2.0/authorize?client_id=[[clientid]]&scope=IMAP.AccessAsUser.All%20POP.AccessAsUser.All%20SMTP.Send%20User.Read%20Mail.Read%20openid%20offline_access&response_type=code&redirect_uri=[redirect_uri]&prompt=login
  2. 键入上述URL后,您将被重定向到登录屏幕:
    登录屏幕

  3. 输入电子邮件,单击​ 下一步,将显示“应用程序权限”屏幕:

    允许权限

  4. 当您允许权限时,您将被重定向到一个新的URL,如下所示: https://login.microsoftonline.com/common/oauth2/nativeclient?code=<code>&session_state=[session_id]

  5. 将上述URL中<code>的值从0.ASY...复制到上述URL中的&session_state

生成刷新令牌 generating-the-refresh-token

接下来,必须生成刷新令牌,如以下步骤所述:

  1. 打开命令提示符并使用以下cURL命令获取refreshToken。

  2. clientIDclient_secretredirect_uri替换为应用程序的值以及<code>的值:

    curl -H "ContentType application/x-www-form-urlencoded" -d "client_id=[client-id]&scope=https%3A%2F%2Foutlook.office.com%2FIMAP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FPOP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FSMTP.Send%20https%3A%2F%2Foutlook.office.com%2FUser.Read%20https%3A%2F%2Foutlook.office.com%2FMail.Read%20offline_access&code=[code]&grant_type=authorization_code&redirect_uri=[redirect_uri]&client_secret=[secretkey_value]" -X POST https://login.microsoftonline.com/common/oauth2/v2.0/token

    note note
    NOTE
    在单个租户应用程序中,要生成刷新令牌,请使用以下cURL命令并将common替换为中的[tenantid]
    curl -H "ContentType application/x-www-form-urlencoded" -d "client_id=[client-id]&scope=https%3A%2F%2Foutlook.office.com%2FIMAP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FPOP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FSMTP.Send%20https%3A%2F%2Foutlook.office.com%2FUser.Read%20https%3A%2F%2Foutlook.office.com%2FMail.Read%20offline_access&code=[code]&grant_type=authorization_code&redirect_uri=[redirect_uri]&client_secret=[secretkey_value]" -X POST https://login.microsoftonline.com/[tenantid]/oauth2/v2.0/token
  3. 记下刷新令牌。

使用OAuth 2.0支持配置电子邮件服务 configureemailservice

现在,通过登录到管理员UI在最新的JEE服务器上配置电子邮件服务:

  1. 转到​ 主页 > 服务 > 应用程序和服务 > 服务管理 > 电子邮件服务,将显示​ 配置电子邮件服务 ​窗口,此窗口是为基本身份验证配置的。

    note note
    NOTE
    若要启用oAuth 2.0身份验证服务,必须选中​ SMTP服务器是否需要身份验证(SMTP身份验证) ​复选框。
  2. 将​ oAuth 2.0身份验证设置 ​设置为True

  3. 从Azure门户复制​ 客户端ID ​和​ 客户端密钥 ​的值。

  4. 复制生成的​ 刷新令牌 ​的值。

  5. 登录到​ Workbench ​并从​ 活动选取器 ​中搜索​ 电子邮件1.0

  6. 电子邮件1.0下提供了三个选项:

    • 随文档一起发送:发送带有单个附件的电子邮件。
    • 随附件映射一起发送:发送带有多个附件的电子邮件。
    • 接收:接收来自IMAP的电子邮件。
    note note
    NOTE
    • 传输安全协议具有以下有效值:“blank”、“SSL”或“TLS”。 将​ SMTP Transport Security ​和​ Receive Transport Security ​的值设置为​ TLS ​以启用oAuth身份验证服务。
    • 使用电子邮件端点时,OAuth不支持​ POP3协议

    连接设置

  7. 通过选择​ 随文档 ​一起发送,测试应用程序。

  8. 提供​ TO ​和​ From ​地址。

  9. 调用应用程序,并使用0Auth 2.0身份验证发送电子邮件。

    note note
    NOTE
    如果需要,您可以将Workbench中特定进程的Auth 2.0身份验证设置更改为基本身份验证。 为此,请在​ 连接设置 ​选项卡中的​ 使用全局设置 ​下将​ OAuth 2.0身份验证 ​值设置为“False”。

启用oAuth任务通知 enable_oauth_task

  1. 转到​ 主页 > 服务 > 表单工作流 > 服务器设置 > 电子邮件设置

  2. 要启用oAuth任务通知,请选中​ 启用oAuth ​复选框。

  3. 从Azure门户复制​ 客户端ID ​和​ 客户端密钥 ​的值。

  4. 复制生成的​ 刷新令牌 ​的值。

  5. 单击​ 保存 ​以保存详细信息。

    任务通知

    note note
    NOTE
    若要了解有关任务通知的更多信息,单击此处

配置电子邮件端点 configure_email_endpoint

  1. 转到​ 主页 > 服务 > 应用程序和服务 > 端点管理

  2. 要配置电子邮件终结点,请将​ oAuth 2.0身份验证设置 ​设置为True

  3. 从Azure门户复制​ 客户端ID ​和​ 客户端密钥 ​的值。

  4. 复制生成的​ 刷新令牌 ​的值。

  5. 单击​ 保存 ​以保存详细信息。

    连接设置

    note note
    NOTE
    若要了解有关配置电子邮件端点的详细信息,请单击配置电子邮件端点

疑难解答 troubleshooting

  • 如果电子邮件服务无法正常工作,请尝试重新生成Refresh Token,如上所述。 部署新值需要花费几分钟的时间。

  • 使用Workbench在电子邮件端点中配置电子邮件服务器详细信息时出错。 尝试通过Admin UI(而不是Workbench)配置端点。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2