摘要:針對這種情況,友戶通特定開發了聯邦用戶中心來支持企業的自有用戶中心。友戶通支持通過協議使用企業內部的支持協議的用戶中心賬號進行登錄。友戶通目前支持標準協議以及友戶通自定義協議可供企業集成。
友戶通做用友云的用戶系統也一年多了,經常聽實施、售前等說要私有化部署友戶通,原因無非是企業的考慮到用戶安全性和單一用戶賬號的需求。但由于用戶管理的復雜性,友戶通部署與維護并不容易,因此經常糾結在用戶系統是用友戶通云服務還是要私有化部署。
企業私有化IT服務服務發展到幾天已經很豐富,企業內部可能部署了幾十上百的應用程序,企業對于這些應用的用戶通常采取統一的用戶中心來進行管理。
針對這種情況,友戶通特定開發了聯邦用戶中心來支持企業的自有用戶中心。讓我們一起來看看這個聯邦用戶中心是如何支持企業自有用戶中心的。
一、為什么要使用聯邦身份認證
未使用聯邦身份認證時
o企業自有用戶中心的用戶不能訪問用友云各個應用
企業應用有自己的用戶中心(以下稱為:自有IdP),通過自有IdP認證的用戶無法直接訪問用友云。
o用戶管理復雜
管理員需要分別在兩個系統中為用戶創建賬號。
o用戶操作繁瑣
用戶訪問兩個系統時需要使用兩個系統的賬號登錄,需要記住兩套密碼。
使用聯邦身份認證后
o自有IdP用戶可以直接訪問用友云
用戶在企業自有IdP認證通過后,可直接訪問用友云應用,無需再次經過友戶通認證。企業管理員也無需在友戶通中重復創建用戶。
o用戶管理簡單
企業管理員只需要在企業自有IdP中為用戶創建賬號,用戶即可同時訪問兩個系統,降低了管理復雜度。
o用戶操作方便
用戶在本企業IdP中登錄即可訪問企業應用和用友云應用,使用方便,流暢。
o深度融合
企業內部應用與用友云在用戶系統上已經打通,在用戶打通的基礎上可根據場景進行進一步的融合。
二、友戶通支持哪些種類的企業IdP
目前友戶通已經支持了LDAP、CAS、OAuth2等標準協議的企業IdP,還支持友戶通自定義的Token機制的IdP.除了友戶通自定義的Token機制支持的企業IdP需要一定的開發量,其他協議的企業IdP只需要在友戶通進行配置就可以使用了,完全不需要進行開發。
友戶通的聯邦用戶身份認證未來還將繼續擴展所支持的協議,很快就會增加對SAML2協議的支持。SAML2協議將不需要友戶通和企業IdP之間有直接網絡連接就可以進行聯邦用戶身份認證。
三、使用友戶通的聯邦身份認證有什么體驗
體驗一:部署實施簡單
只需要三步甚至兩步就可以部署實施完成企業IdP與友戶通的集成
步驟一:根據需要部署yhtagent(企業IdP在內網,而友戶通需要訪問企業IdP)
步驟二:在友戶通中配置聯邦身份認證。
步驟三:在訪問用友云的鏈接里加上thirducid參數(參數值由第二步確定)。
聯邦身份認證中心配置界面
體驗二:用戶使用方便
步驟一:登錄企業IdP(LDAP用戶中心則可直接在友戶通登錄界面通過特殊用戶名進行登錄)。
步驟二:在同一個瀏覽器里打開帶thirducid參數的用友云鏈接地址,就可登錄用友云。
企業用戶在內部應用和用友云應用之間的切換非常方便。
對于企業客戶來說,其員工信息可以得到保護,云服務的實施變得更加簡單。
四、技術挑戰與實現
挑戰一:支持LDAP協議的企業IdP時,如何確定用戶應該在哪里驗證。
企業內部的用戶管理經常使用AD域來管理,其支持LDAP協議來進行用戶查詢,用戶名密碼驗證等。
友戶通支持通過LDAP協議使用企業內部的支持LDAP協議的用戶中心賬號進行登錄。LDAP協議已經很成熟了,對接起來并不難,麻煩在于什么時候,去哪個LDAP用戶中心驗證用戶。針對這個問題,我們使用了兩種方式來解決。
支持方式一:通過特殊用戶名來確定企業IdP
在配置LDAP用戶中心時,為每個LDAP用戶中心配置一個唯一標識符,在登錄的用戶名,加上一個“@”符號和唯一標識符,這樣,友戶通就能識別這個用戶是需要使用哪個LDAP用戶中心去驗證了。這種方式適合主動打開用友云服務的應用,在登錄主動輸入域賬號進行登錄。
支持方式二:通過URL里的參數來確定企業IdP
在訪問登錄頁面的URL里增加一個參數thirdUCId,這樣在友戶通系統里,通過thirdUCId查詢到的企業IdP是LDAP用戶中心,就可以到相應的地方去驗證用戶了。這種方式適合在企業內部的系統里嵌入URL鏈接穿透到用友云服務的場景。
挑戰二:如何從企業IdP單點登錄到用友云
很多企業經過了很多輪的信息化,部署了很多應用,企業為了方便員工賬號管理及登錄管理,通常采用支持單點登錄的用戶系統來統一管理用戶賬號,及支持單點登錄。
這些企業如果也購買了用友云的應用,企業需要使用自己的用戶賬號進行登錄,以方便進行用戶管理。
針對這種需求,友戶通支持CAS、OAuth、SAML標準的單點登錄用戶中心,登錄了企業自有用戶中心后能夠直接登錄用友云,而不需要再次輸入用戶名和密碼。
支持方式一:使用CAS協議
友戶通和企業IdP之間,走標準CAS協議,即友戶通到企業IdP申請發放ticket,企業IdP發放ticket之后重定向到友戶通,友戶通到企業IdP驗證ticket,驗證成功后即可登錄友戶通。
企業IdP負責發放ticket和驗證ticket并返回用戶信息,友戶通的負責向企業IdP申請發放ticket,得到ticket后調用企業IdP驗證驗證ticket并得到用戶信息,并讓用戶登錄到友戶通中。
友戶通在申請企業IdP發放ticket和驗證ticket過程中,瀏覽器主頁面處于等待狀態,子頁面iframe負責申請發放ticket和驗證ticket的接口調用。
該方式實現的難點
1、怎么確定去哪個企業IdP申請ticket從而登錄呢?咋們來個故技重施,通過URL里的一個參數thirducid來決定去哪個企業IdP去申請發放ticket.
2、友戶通登錄頁既要在已經登錄了企業IdP時能夠自動登錄,又要在未登錄企業IdP時顯示友戶通登錄界面,兩方又不在同一個域里,如何做到跨域呢?這里,我們使用了一個巧妙的方式,也是充分利用CAS標準。在CAS用戶中心里,如果已經登錄的話,將會發放ticket,并且重定向到service參數指定的url上。前端登錄界面開啟一個iframe去企業IdP申請ticket,同時service地址為友戶通接口,這個接口驗證企業IdP發放的ticket,并發放一個友戶通登錄token,返回一個頁面將父頁面(登錄頁面)導航到友戶通自動登錄url,從而登錄進入友戶通。
圖1-2 友戶通集成企業IdP協作圖
下面我們來看看具體是怎么實現的。
(1)企業IdP配置。將企業IdP的信息配置到友戶通中,包括企業IdP的ticket發放地址,驗證地址,用戶信息的格式,以及發放ticket和驗證ticket時需要的一些參數的配置,以便在單點登錄過程中使用。
(2)登錄服務申請企業IdP發放ticket.登錄服務通過url里的參數thirducid,查詢到企業IdP的相關配置,將申請發放ticket的地址ticketrequesturl提供給前端JavaScript,前端JavaScript打開一個隱藏的iframe,將iframe的src設置為ticketrequesturl,企業IdP將檢測瀏覽器是否登錄過且有效,如果登錄過且有效,則發放ticket,跳轉到ticketrequesturl里的service參數的地址上,該地址為IT服務里的驗證企業IdP ticket接口。
(3)驗證企業IdP ticket接口(第(2)條里用來作為service地址)。本接口接收企業IdP發放的ticket,以及代表那個企業IdP的thirducid,通過調用相應的企業IdP的驗證ticket的接口,如果ticket合法,企業IdP會返回相應的用戶信息,友戶通將根據配置解析出用戶信息,產生一個友戶通單點登錄token(友戶通的登錄服務接口可通過此token單點登錄到友戶通中),并返回一個頁面(運行在iframe中),此頁面將會將父頁面重定向到友戶通的登錄服務接口(包含友戶通單點登錄token),走完標準友戶通的單點登錄流程后將登錄進入到友戶通。
支持方式二:使用OAuth2協議
使用OAuth2協議和CAS協議差別不大,只需要將CAS協議中申請Ticket替換成申請code,驗證ticket替換成通過code獲取accessToken及用戶信息即可。
挑戰三:如何從友戶通單點登錄到企業IdP
先登錄友戶通,然后登錄企業IdP.如果實現了企業IdP登錄到友戶通,那么自然會有需求從友戶通登錄到企業IdP.不過,這種方式需要企業IdP做一些定制開發。
友戶通目前支持CAS、oauth2標準協議以及友戶通自定義協議可供企業IdP集成。未來將支持SAML2的協議供企業IdP集成。
友戶通提供前端登錄狀態檢測js(支持jsonp),可檢測友戶通是否已經登錄以及進行CAS發票。
友戶通還提供了js方法獲取oauth2的code(支持jsonp),供oauth2方式進行單點登錄實現。
挑戰四:企業用戶中心外網無法訪問
企業自有用戶中心通常是部署在企業內網的,外網訪問不了。這種情況一般有幾種解決方式。
第一種:讓企業開辟外網端口,讓外網能訪問,但這種方式會讓企業的內部用戶中心暴露在公網,企業可能會有一定的顧慮。
第二種:將外網調用變成內網調用,在企業內部部署一個應用當做中介,只暴露這個新部署的應用。
我們選擇了第二種方式,這種方式不會暴露企業的用戶中心到公網上,打消企業的顧慮。需要開發一個應用當做中介,我們稱為代理(下稱yhtagent)。yhtagent和友戶通直接的通信采用HTTPS保密通信,如果企業還嫌不夠安全,可以在消息內部在使用AES或者RSA等對稱或者非對稱加密算法進行加密,從而保證通信內容的絕對安全。
使用YhtAgent時的聯邦身份認證
LDAP類型的用戶中心,Yhtagent實現友戶通到企業單向代理;CAS類型的用戶中心,Yhtagent實現友戶通到企業雙向代理。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25432.html
摘要:阿帕云引擎管理系統怎么樣中小企業如何搭建業務系統中小企業可以試試阿帕云引擎系統,它是國內專業專業的管理系統。阿帕云管理系統優勢從業務方面,支持生產各類云產品。從管理上,阿帕云引擎從市場前端到業務后端,打造了從用戶到企業的閉環式業務鏈條。阿帕云引擎idc管理系統怎么樣?中小企業如何搭建idc業務系統?中小企業可以試試apayun阿帕云引擎系統,它是國內專業專業的IDC管理系統。阿帕云品牌創建于...
摘要:領先的全球服務提供商加速在大數據和人工智能市場采用云計算支持并整合和等開源技術的云原生計算基金會今日宣布,浪潮升級為金牌會員。浪潮也是基金會的白銀級會員。 showImg(https://segmentfault.com/img/bVbn2CG?w=1620&h=694);領先的全球服務提供商加速在大數據和人工智能市場采用云計算 支持并整合Kubernetes? 和Prometheus...
摘要:根據澤塔云技術合伙人鄭經波博士的觀察今年的超融合已經過了市場教育期,開始真正走向大量落地階段。澤塔云定義的超融合是包含計算存儲網絡三層完整數據中心虛擬化的超融合產品。從蒸汽火車到內燃機火車,從內燃機火車到動車、高鐵。每一次技術的進步,都讓交通速度和體驗得到了質的飛躍,為用戶提供了更多的便利。從煙囪式IT基礎架構到虛擬化數據中心,從虛擬化數據中心到超融合,每一次技術的進步,都讓企業級IT基礎設...
閱讀 3027·2023-04-25 18:06
閱讀 3271·2021-11-22 09:34
閱讀 2856·2021-08-12 13:30
閱讀 2044·2019-08-30 15:44
閱讀 1660·2019-08-30 13:09
閱讀 1629·2019-08-30 12:45
閱讀 1715·2019-08-29 11:13
閱讀 3608·2019-08-28 17:51