IMS配置中的client_secret即将取消设置
本文为AEM重新启动后IMS配置失败的问题提供了解决方案。 与IMS配置关联的运行状况检查始终失败,表明无法使用配置的client_secret进行身份验证。 将加密密钥保存在捆绑包的文件存储中。
描述 description
环境:
Experience Manager
问题/症状
IMS配置中的client_secret将被取消设置。
将AEM从较旧版本(例如6.2或更低版本)升级到较新版本(6.3或更高版本)后,用于存储加密密钥的方法将从JCR存储更改为文件系统存储。 此更改需要手动干预,以确保正确重新定位hmac和主密钥,以便AEM在重新启动后正常运行。 否则,可能会导致IMS等服务的身份验证问题,因为在预期位置中找不到用于加密和解密敏感信息的密钥。
出现以下错误:
{"error":"invalid_client","error_description":"invalid client_secret parameter"}
解决方法 resolution
要解决此问题并确保IMS配置在AEM重新启动期间保持稳定,请执行以下步骤:
-
转到crxde并导航到/etc/key。 在该节点内,应该有一个主属性和hmac属性。 下载这些文件。
-
通过单击这些属性的值下载资产。
-
转到
<hostname>/system/console/bundles并搜索“Crypto” -
请注意标记为“AdobeGranite加密包密钥提供程序com.adobe.granite.crypto.file”的包的包ID。
-
请注意标记为“AdobeGranite加密支持com.adobe.granite.crypto”的包的包ID。
-
停止 AEM。
-
在AEM服务器上,导航到
crx-quickstart/launchpad/felix/< bundleID> /data,其中<bundleID>来自步骤5 -
数据目录中存在名为storage的文件,请下载此存储文件并替换当前服务器上的文件。 必须替换文件,而不是仅仅将值从JCR更改为Bundle,因为文件末尾不能有换行符,大多数编辑器(如vi)会添加换行符。
-
转到目录
crx-quickstart/launchpad/felix/bundle${FILE_BUNDLE_ID}/data,其中${FILE_BUNDLE_ID}被步骤4中的“捆绑ID”值(com.adobe.granite.crypto.file捆绑ID)替换。 -
将您在步骤2中下载的hmac和主文件复制到此位置。
-
验证hmac和主文件是否与下载的文件相同。
-
命令应为:
md5sum hmac md5sum master确保下载的文件和替换的文件输出相同。
-
启动 AEM。
-
从/etc/key中删除hmac和主属性,并确保保存。
-
按照这些步骤,您将加密密钥从JCR重新定位到文件系统,与较新AEM版本中预期的存储方法保持一致。 这可确保AEM一致地访问用于加密和解密操作的密钥,从而保持跨重新启动的稳定IMS配置。 建议在将更改应用到生产系统之前,在较低的环境中测试这些更改。