以OAuth為基礎的使用者端憑證輪換在Author中有效,但在Publish中無效

在Adobe Experience Manager (AEM) Forms中旋轉OAuth使用者端憑證時,儘管已在Author中運作,發佈執行個體上的驗證仍會失敗。 此問題通常是由執行個體之間的HMAC金鑰不相符所造成,這會阻礙重新整理權杖的正確解密。 本文會說明根本原因,並提供還原OAuth功能的解決方案。

說明 description

環境

  • Adobe Experience Manager (AEM) Forms 6.5版
  • Managed Services

問題/症狀

在Author中旋轉OAuth型使用者端憑證並將設定復寫到Publish後,Publish中的驗證失敗,出現下列錯誤:

[ 0]  POST /content/forms/af/company-forms/<test-form>/jcr:content/guideContainer.af.dermis HTTP/1.1 com.adobe.aemds.guide.addon.expeditor.servlet.ExpEditorServiceManager Error while making web service related call com.adobe.aem.dermis.exception.DermisException: com.adobe.aemfd.dermis.authentication.exception.AuthenticationException: AEM-AUT-001-004: Failed to fetch access token for oAuth. ERROR
[ xx.xx.x.xx [ xxxxxxxxxxxx]  POST /content/forms/af/company-forms/<test-form>/jcr:content/guideContainer.af.dermis HTTP/1.1]  com.adobe.forms.foundation.oauth.model.OAuthConfigSlingModel Error while decrypting the Refresh Token com.adobe.granite.crypto.CryptoException: Cannot convert byte data

原因

該問題可追溯到由於記憶體中儲存的過期重新整理權杖而導致擷取存取權杖失敗。 Author和Publish之間的HMAC金鑰值不一致,導緻密碼編譯剖析問題。

解決方法 resolution

請嘗試下列步驟來解決問題:

  1. 在Author和Publish執行個體之間同步HMAC金鑰。 使用相同的OAuth憑證時,請確定Author和Publish執行個體上的HMAC金鑰相同。

  2. 重新啟動發佈執行個體。 若不重新啟動,則會觸發預設工作流程,且無法清除記憶體中的權杖:

    1. 系統會先檢查記憶體中的權杖。 如果找到過時的權杖,它會嘗試使用它,但無法建立連線。
    2. 如果在記憶體中找不到權杖,它會檢查cloudconfig/<respective configuration>下的存放庫,並嘗試使用儲存的認證進行連線。
    3. 如果上述兩次嘗試都失敗,系統會退回使用來自發佈執行個體上雲端/OSGI設定的憑證來建立新權杖。 如果成功,會更新CRX存放庫中的Token。
  3. 為避免發生此問題,請一律確保在所有AEM執行個體之間同步HMAC金鑰,尤其是在備份或還原任務之後。

    1. 移至AEM Author中的/system/console/bundles,並找到名為​ Adobe Granite Crypto Bundle Key Provider (com.adobe.granite.crypto.file) ​的套件。 記下組合編號(例如20)。
    2. 在AEM檔案系統上,導覽至: <repository-folder>/crx-quickstart/launchpad/felix/bundle20 (將20取代為上一步驟中的實際套件編號)。
    3. 資料 資料夾內,複製兩個檔案: hmacmaster
    4. 在每個目標AEM執行個體上重複此程式,將其 hmacmaster 檔案取代為複製的版本。
    5. 取代檔案後,重新啟動AEM執行個體。

透過實作這些步驟,在認證輪換後,成功在Publish上重新建立OAuth流程。

相關閱讀

社群Adobe Experience Manager Sites及其他專案中的AEM 6.5 Crypto支援

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f