我有一個Java桌面應用程序。我發現了很多關於Web應用程序的SSO身份驗證的在線資源。我需要一個老派桌面應用程序的相同的東西。基本上,我需要應用程序來打開瀏覽器窗口,讓用戶通過ADFS進行身份驗證,然後獲取令牌。適用於Java桌面應用程序的ADFS/SAML身份驗證
如何在ADFS/SAML中添加SSO身份驗證?
我有一個Java桌面應用程序。我發現了很多關於Web應用程序的SSO身份驗證的在線資源。我需要一個老派桌面應用程序的相同的東西。基本上,我需要應用程序來打開瀏覽器窗口,讓用戶通過ADFS進行身份驗證,然後獲取令牌。適用於Java桌面應用程序的ADFS/SAML身份驗證
如何在ADFS/SAML中添加SSO身份驗證?
我找到了答案。
注意:這不是一件容易的事。需要花費大約一週的時間才能完成所有工作。
桌面應用程序。沒有瀏覽器。
WS-Fed和SAML是圍繞瀏覽器重定向建立的。
爲什麼你需要SAML?那麼OpenID Connect/OAuth呢?
如果這是一個選項,請查看ADAL Java示例 - Azure Active Directory Authentication Libraries。 ADFS中的OAuth支持有限。 V3.0
您的另一種選擇是使用活動配置文件(Web服務)而不是被動(瀏覽器)。
但這就是WS-Trust不是SAML。
沒有什麼能夠阻止桌面應用程序瀏覽器。我需要SAML2,因爲這是一項要求。我終於明白了。 –
請記住,嵌入式瀏覽器不被視爲執行SAML2/OpenIDConnect身份驗證的安全方式。父應用程序通常仍然可以讀取瀏覽器和Cookie的內容。這意味着父應用程序可以攔截用戶的憑據 - 它永遠無法看到。出於這個原因,iOS和Andriod爲原生應用程序提供了啓動獨立瀏覽器的機制,然後使用應用程序開發人員在操作系統註冊的系統註冊的uri-schemes重定向迴應用程序。我不相信Java有能力爲自己註冊一個uri-scheme。 – anschoewe