解決Adobe Experience Manager中多個身分提供者的驗證失敗

將多個身分提供者(IDP)整合至Adobe Experience Manager (AEM)時,使用者會遇到驗證失敗的情況。 這些問題產生的原因是在不同IDP中使用非唯一的主要名稱,導致AEM中的衝突。 若要解決這些登入問題,請確定每個IDP都使用唯一的主體名稱,並適當地管理使用者狀態。

說明 description

環境

Adobe Experience Manager (AEM)

問題/症狀

  • 發生此問題是因為不同IDP中的rep:principalName仍然相同,導致AEM無法區分透過各種OAuth提供者登入的使用者。 這種缺乏差異性會導致登入問題。

技術細節

  • 在AEM中,當使用者使用IDP登入時,會使用rep:principalNamerep: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