大家好,我目前正在研究所就讀,預計6月畢業,同時也在一家公司實習。
我的任務是協助公司建立SSO機制並選擇最適合的身分驗證工具。
由於公司有多個品牌和業務,但每個系統都是獨立運作,這導致用戶需要重複註冊帳號,系統之間資料不互通,難以實現用戶精準行銷。
根據已知的公司資訊
經過簡單的測試和調查後,鎖定了以下四種身分驗證工具:
1. Duende IdentityServer
同樣基於 Asp.Net 架構的身分驗證工具,具有高度自定義功能和流程。它的缺點是相對複雜,需要比較多的人力來維護,但安全性非常好。 如果採用此工具,需要購買12000美元/年的授權費用。(前一代IdentityServer4已停止維護,因此只考慮 Duende IdentityServer)
2. Keycloak
由Red Hat開發的開源身份驗證平台,具有良好的管理介面和簡單的設置,不須像 IdentityServer 需要大量程式碼的維護,而且是免費的,在外國論坦討論度也挺高,唯一擔心的是它是由 Java 撰寫的,如果未來擴充功能需要修改代碼,公司可能需要額外找人力。
3. Auth0
使用上像是 Keycloak 的高配版,擁有非常清晰的文檔指南,內建也整合了非常多功能,是一個SaaS服務。雖然費用相對較高,但如果考慮短期上線的話,這可能是一個非常適合的選擇。同一家公司的另一個服務Okta費用更高,但也適合大型公司使用。由於公司已經有自己的 ERP 系統,這邊先排除掉 Okta,Auth0 還在考慮範圍中。
4. AzureAD B2C
公司現有狀況下似乎非常適合使用。由於公司已經在使用微軟的其他服務,因此 AzureAD B2C 可能會更容易整合。不過,網上對其設定的評價不太好,也有一些不方便的地方,像是半成品。但就安全性而言,應該沒有問題。
(目前公司不考慮 google、aws 的服務)
請問各位前輩
這4個工具有哪個是比較合適的呢?
使用上有什麼需要注意的點呢?
或是有其他的工具或任何建議
也歡迎留下評論
非常感謝
依照你的情況,我會選第四個
時間夠,公司自己刻一個最棒
如果已經有在使用AzureAD,就用AzureAD吧,畢竟公司內的人也要用吧,這樣整合應該比較方便,接著要弄到類似多租戶,可能還要再加一個權限管理平台,另外如果是企業方案應該有對應的窗口可以解決遇到的問題
這10個系統服務建置在哪裡? 雲端? 地端?
雲端多,AzureAD
地端多,本地端直接架AD,還能順便控管Windows的機器
基本上只要地端的Windows數量一多,通常都會有地端的AD才對
AzureAD B2C是服務型項目,所以可以個別指派給AzureAD的帳戶做使用
從你的發問來看,你們已經有AzureAD的帳戶,
地端AD與AzureAD的帳戶只要設定好同步,同步是免費的不用任何授權費
你要走內網驗證還是雲端驗證都不是問題
我選 2. Keycloak,因為我目前的公司內也正在使用
相信我,你不會想要去幫 SSO 系統擴充功能
因為一但你這麼做了,接下來你可能會面臨的問題就是新版發佈後你必須開始為擴充功能做 porting