Active-Directory
ADFS 可以連接到其他 SSO 服務嗎?
我有一個連接到我的本地 ADFS 伺服器(連接到我們的公司 AD 伺服器)的 .net 應用程序,並且一切正常。我的問題是,我的 ADFS 能否與 Internet 上的其他 SSO 服務(如 Azure AD、AWS、Google 登錄、Facebook、Twitter、OpenID 等)建立可信連接,以便我的應用程序可以使用來自多個可信來源的聲明,而不是我的啟動目錄?
我已經做到了。在我們的模型中,我們有三組使用者:
- 內部使用者通過 Active Directory(Kerberos 或 NTLM)對本地 AD FS 實例進行身份驗證。在此集合中,AD FS 伺服器作為 IdP 執行。
- 外部使用者通過 Active Directory(Kerberos 或 NTLM)針對他們自己的 AD FS 實例和域進行身份驗證。在此集合中,AD FS 伺服器具有為發布 AD FS 伺服器配置的聲明提供程序信任。我們的 AD FS 伺服器作為 SP-STS 執行,通過轉換和驗證在其他地方發布的聲明,並向我們的應用程序重新發布受信任的令牌。IdP 是其他域的 AD FS 伺服器,我們的 AD FS 伺服器配置為依賴方。
- 沒有企業登錄的外部使用者。這些使用者向我們的 AD FS 伺服器上配置為聲明提供程序信任的小型 .Net STS 進行身份驗證。(我們也考慮過——而且在技術上很簡單——將 Azure Active Directory B2C 用於這個角色,但其他問題阻止了它。)
為了使其對我們的客戶透明,我們使用 IP 範圍來檢測(通過 nginx)並重定向到適當的公司 AD FS - 否則依賴於標準 AD FS HRD 頁面。