陳希章(O365開發指南):乾貨分享-Office 365單點登錄及應用集成解決方案
- 2019 年 11 月 29 日
- 筆記

上周微軟的年度技術大會(Microsoft Tech Summit 2018) 在上海世博中心如期舉行,我作為演講嘉賓,與我的同事在周六(10月27日)的早上給大家分享了「基於Office 365的單點登錄及應用解決方案」。

這個講座不僅僅給大家介紹了為什麼需要單點登錄,以及單點登錄的兩種實現原理和典型場景,包括同步身份認證和聯合身份認證。

無縫單點登錄是直接將本地的AD與雲端的Azure AD進行同步,通過這樣的方式可以使得已經登陸本地AD的用戶(或者設備)自動地能登陸到支援Azure AD進行身份認證的服務(例如Office 365)。

而聯合身份認證,則能適用於更加複雜的業務場景,例如自定義登錄介面和身份驗證邏輯,尤其是您希望將用戶數據存儲在異構環境或者資料庫中。我們可以通過微軟提供的ADFS實現聯合身份認證,也支援第三方IdP實現。

非常感謝專程來參加講座的一百多位現場的朋友們,在那麼一個周末的美麗早晨大家能趕過來實在很給面子。為了答謝大家的支援,我承諾送出幾本本人的拙作《Office 365 開發入門指南》,今天我已經通過郵件通知到所有提交了調查表的朋友們,並恭喜下面三位幸運觀眾。

如果大家有對Office 365單點登錄解決方案有興趣,或者有遇到什麼比較難的技術問題,也可以繼續通過 https://aka.ms/ssosurvey 提交必要的資訊與我取得聯繫。
精彩影片分享
為了本次講座,我的同事(鴻鵬)做了充足的準備,他分別針對上面提到的多種不同的場景準備了演示環境,並且為了避免現場演示受到網路或者其他不可抗力影響,他還專門錄製了影片。這裡一併分享給大家參考。
基於ADFS 實現單點登錄解決方案
採用 ADFS 的架構,與本地AD進行同步的方案,無需編程即可實現單點登陸解決方案。下面這個影片,展示了在網頁端,客戶端中分別進行登陸的場景和效果。
ADFS 方案的具體配置
那麼,這個方案到底是怎麼實現的呢?最簡單的架構,至少包含一台域控制器,一台ADFS伺服器,一台ADFS Proxy伺服器。域控制器和ADFS伺服器是可以部署在企業內網的,而ADFS Proxy伺服器則可以暴露在外網供用戶登錄。有關如何配置ADFS服務起來實現單點登錄的詳細步驟,如有興趣可以參考 https://aks.ms/adfsconfig
需要注意的是,ADFS 不僅僅支援與AD進行同步,也支援將LDAP添加為Claims Provider Trust,請參考 https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-ad-fs-to-authenticate-users-stored-in-ldap-directories
第三方認證提供程式(IdP)方案
如果您的業務應用平台是使用了自定義的用戶帳號系統,您希望最大化訂製化用戶的登錄體驗,則可以按照WS-Federation 或者SAML 2.0的協議規範開發第三方認證提供程式(IdP)然後將其與Office 365實現聯合身份認證。有關如何開發和配置IdP來單點登錄,請參考 https://aka.ms/idpconfig
重點在最後
最後,希望這些分享對大家有所幫助。如果大家需要演講的PPT和錄播影片,請在評論區留下您的郵箱,我會在會務組準備好之後,通過郵件發給大家。


