將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服務進行驗證的逐步指示:
-
登入https://portal.azure.com/並在搜尋列中搜尋 Azure Active Directory,然後按一下結果。
或者,您可以直接瀏覽到 https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview -
按一下 新增 > 應用程式註冊 > 新註冊。
-
根據您的要求填寫資訊,然後按一下「註冊」。
在上述案例中,已選取任何組織目錄(任何Azure AD目錄 — 多租使用者)中的 帳戶和個人Microsoft®帳戶(例如Skype、Xbox) 選項。note note NOTE - 對於任何組織目錄(任何Azure AD目錄 — 多租使用者)應用程式中的 帳戶,Adobe建議您使用工作帳戶,而不是個人電子郵件帳戶。
- 不支援 僅個人Microsoft®帳戶 應用程式。
- Adobe建議您使用 多租使用者和個人Microsoft®帳戶 應用程式。
-
接下來,移至「憑證和密碼」,按一下「新增用戶端密碼」,並按照畫面上的步驟建立密碼。請務必記下此secret值以供稍後使用。
-
若要新增許可權,請前往新建立的應用程式,然後選取 API許可權 > 新增許可權 > Microsoft® Graph > 委派許可權。
-
選取以下應用程式許可權的核取方塊,然後按一下 新增許可權:
IMAP.AccessUser.All
Mail.Read
offline_access
POP.AccessAsUser.All
SMTP.Send
User.Read
-
選取「驗證」>「新增平台」>「網頁」,並在「重新導向URL」區段中,新增下列任一URI (通用資源識別碼)為:
https://login.microsoftonline.com/common/oauth2/nativeclient
http://localhost
在此情況下,
https://login.microsoftonline.com/common/oauth2/nativeclient
會作為重新導向URI使用。 -
新增每個URL後按一下「設定 」,並根據您的需求進行設定。
note note NOTE 必須選取 存取權杖 和 ID權杖 核取方塊。 -
按一下左窗格中的 總覽,並複製 應用程式(使用者端) ID、目錄(租使用者) ID 和 使用者端密碼 的值以供稍後使用。
產生授權代碼 generating-the-authorization-code
接下來,您必須產生授權代碼,如以下步驟所述:
-
將
clientID
取代為<client_id>
,並將redirect_uri
取代為您的應用程式的重新導向URI,然後在瀏覽器中開啟下列URL: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
-
當您輸入上述URL時,您會被重新導向至登入畫面:
-
輸入電子郵件,按一下 下一步,就會顯示[應用程式]許可權畫面:
-
當您允許許可權時,您會被重新導向至新的URL,如下所示:
https://login.microsoftonline.com/common/oauth2/nativeclient?code=<code>&session_state=[session_id]
-
將上述URL中
<code>
的值從0.ASY...
複製到上述URL中的&session_state
。
產生重新整理權杖 generating-the-refresh-token
接下來,您必須產生重新整理權杖,如下列步驟所述:
-
開啟命令提示字元並使用下列cURL命令取得refreshToken。
-
將
clientID
、client_secret
和redirect_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
-
記下重新整理權杖。
設定電子郵件服務與OAuth 2.0支援 configureemailservice
現在,請登入管理員UI,在最新的JEE伺服器上設定電子郵件服務:
-
移至 首頁 > 服務 > 應用程式與服務 > 服務管理 > 電子郵件服務,會出現 設定電子郵件服務 視窗,設定為進行基本驗證。
note note NOTE 若要啟用oAuth 2.0驗證服務,必須選取 SMTP伺服器是否需要驗證(SMTP驗證) 核取方塊。 -
將 oAuth 2.0驗證設定 設為
True
。 -
從Azure入口網站複製 使用者端識別碼 和 使用者端密碼 的值。
-
複製產生的 重新整理Token 的值。
-
登入 Workbench 並從 活動選擇器 搜尋 電子郵件1.0。
-
電子郵件1.0下有三個選項:
- 隨檔案傳送:傳送包含單一附件的電子郵件。
- 使用附件地圖傳送:傳送包含多個附件的電子郵件。
- 接收:接收來自IMAP的電子郵件。
note note NOTE - 傳輸安全性通訊協定有下列有效值: 'blank'、'SSL'或'TLS'。 將 SMTP Transport Security 和 Receive Transport Security 的值設定為 TLS,以啟用oAuth驗證服務。
- 使用電子郵件端點時,OAuth不支援 POP3通訊協定。
-
選取 隨檔案 傳送,以測試應用程式。
-
提供 TO 和 From 位址。
-
叫用應用程式,並使用0Auth 2.0驗證傳送電子郵件。
note note NOTE 如有需要,您可以將Workbench中特定程式的Auth 2.0驗證設定變更為基本驗證。 若要這麼做,請在 連線設定 索引標籤中的 使用全域設定 下,將 OAuth 2.0驗證 值設為'False'。
啟用oAuth任務通知的方式 enable_oauth_task
-
移至 首頁 > 服務 > 表單工作流程 > 伺服器設定 > 電子郵件設定
-
若要啟用oAuth工作通知,請選取 啟用oAuth 核取方塊。
-
從Azure入口網站複製 使用者端識別碼 和 使用者端密碼 的值。
-
複製產生的 重新整理Token 的值。
-
按一下[儲存]儲存詳細資料。
note note NOTE 若要瞭解更多與工作通知相關的資訊,請按一下這裡。
設定電子郵件端點 configure_email_endpoint
-
移至 首頁 > 服務 > 應用程式與服務 > 端點管理
-
若要設定電子郵件端點,請將 oAuth 2.0驗證設定 設為
True
。 -
從Azure入口網站複製 使用者端識別碼 和 使用者端密碼 的值。
-
複製產生的 重新整理Token 的值。
-
按一下[儲存]儲存詳細資料。
note note NOTE 若要瞭解有關設定電子郵件端點的詳細資訊,請按一下[設定電子郵件端點]。🔗
疑難排解 troubleshooting
-
如果電子郵件服務無法正常運作,請嘗試重新產生
Refresh Token
,如上所述。 部署新值需要幾分鐘的時間。 -
使用Workbench在電子郵件端點中設定電子郵件伺服器詳細資料時發生錯誤。 嘗試透過Admin UI (而非Workbench)設定端點。