Active-Directory

在 ADFS 中模仿 Azure AD 使用者/租戶聲明

  • December 10, 2015

我有一個 .Net Web 應用程序,它允許使用者將他們的帳戶與身份提供者(Azure AD、Google 和/或 ADFS)掛鉤以允許單點登錄。

在連接他們的帳戶(或“入職”,無論如何……)時,每個提供者都應返回以下值:

  1. 使用者唯一 ID(租戶上的一個常量 ID 值,對於使用者永遠不會更改(例如,如果他們的名稱更改,該值仍然是常量)
  2. 租戶唯一 ID當人們使用來自多個客戶群的應用程序時,我需要為每個客戶的 ID 提供者/租戶儲存一個辨識值
  3. 使用者名 使用者的友好名稱(例如電子郵件地址),可用於向他們顯示他們在提供商上的“姓名”(例如,如果使用 Google 或 Azure AD,這是您的電子郵件)

到目前為止,我已經在 Azure AD 和 Google 中實現了這一點,但我在 ADFS 上苦苦掙扎。由於我沒有實時 ADFS 伺服器,因此我正在使用 VM 來查看如何將上述內容設置為聲明。

是否可以在 ADFS 中設置依賴方,然後創建三個聲明來填充上述內容?

在處理 ADFS 聲明規則對話框時,我假設以下可能有效,但缺乏了解它是否有效的經驗:

  1. 名稱 ID - 持久標識符
  2. 不確定 - 可能手動創建值為“CompanyABC_Tenant123”的聲明
  3. UPN

上面的2號可以嗎。或者,有沒有更好的方法來實現我所需要的?我注意到,如果使用 Azure AD 訪問控制,則上述三個項目會自動填充,但假設 ID 是在雲中創建的,而不是在本地創建的。

首先,使用 objectGUID-refer: ADFS:objectGUID 作為聲明

第二,可能有多個域,一個域內有多個 ADFS 場,一個場內有多個 ADFS 實例。理想情況下,靜態聲明類似於:

域/場/機器名

但是整個農場的索賠規則是相同的,所以:

域/農場

第三,是的,使用 UPN。

引用自:https://serverfault.com/questions/742163