解決Adobe Experience Manager中多個身分提供者的驗證失敗
將多個身分提供者(IDP)整合至Adobe Experience Manager (AEM)時,使用者會遇到驗證失敗的情況。 這些問題產生的原因是在不同IDP中使用非唯一的主要名稱,導致AEM中的衝突。 若要解決這些登入問題,請確定每個IDP都使用唯一的主體名稱,並適當地管理使用者狀態。
說明 description
環境
Adobe Experience Manager (AEM)
問題/症狀
- 發生此問題是因為不同IDP中的
rep:principalName仍然相同,導致AEM無法區分透過各種OAuth提供者登入的使用者。 這種缺乏差異性會導致登入問題。
技術細節
- 在AEM中,當使用者使用IDP登入時,會使用
rep:principalName和rep:externalId之類的屬性建立使用者專案。rep:principalName代表AEM中的本機使用者ID,而rep:externalId將使用者連結至外部IDP。- AEM中的範例使用者節點:
{
"jcr:primaryType": "rep:User",
"jcr:mixinTypes": [ "rep:AccessControllable"] ,
"jcr:createdBy": "",
"jcr:created": "Date and Time",
"rep:principalName": "unique_principal_name",
"rep:lastSynced": "Date and Time",
"jcr:uuid": "unique-identifier",
"rep:externalId": "user@domain.com;idp_identifier",
"rep:authorizableId": "unique_principal_name"
}
解決方法 resolution
若要解決此問題:
- 修改您OAuth提供者實作中的
mapUserId方法,以附加每個OAuth提供者專屬的唯一識別碼或首碼。 這可確保每個提供者的rep:principalName都是唯一的,從而消除衝突。 - 如果使用者使用第二個IDP登入,且同步處理常式不相符,則使用者可能會在AEM中停用。 這由
rep:disabled屬性表示:
{ "rep:disabled": "No longer exists on external identity provider 'idp_identifier'"}
- 在實作變更後進行徹底的測試,以確保以不同的IDP成功登入。 如果問題仍然存在,請檢閱實作並考慮重新開啟支援票證以供進一步調查。
如需其他支援或問題,請連絡Adobe支援。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f