我有一個用戶登錄的客戶端應用程序(Windows)。在這個應用程序中,用戶將希望使用單點登錄(SAML)訪問遠程網站,並且將由Microsoft WIF進行身份驗證。要做到這一點,用戶將點擊一個打開本地網頁瀏覽器的按鈕,生成一個SAML令牌(包含用戶名和角色等),並向遠程網站發出HTTP POST以訪問它,並將其簽入。安全地在客戶端應用程序中生成SAML2令牌,無需安裝簽名證書
我希望用戶能夠根據Windows應用程序的憑據自動登錄。
我大致知道如何生成SAML令牌,但假設這需要在本地PC上安裝簽名證書,該證書需要安裝到我公司的所有PC中。
安裝此證書似乎不太正確。我還能如何安全地允許用戶生成SAML令牌,服務提供商將會接受(通過單點登錄)?
UPDATE:
的用戶沒有通過驗證到使用Windows身份驗證(Kerberos的)Windows應用程序,我們做一個自定義的SQL調用用戶名/密碼的數據庫。
在win應用程序中,我們將知道用戶名和他們的角色,因此可以從此生成聲明,或將其傳遞給遠程STS以生成和簽署SAML令牌。但是再次將這些數據傳遞給STS似乎又完全錯誤了。
win應用程序不使用Windows身份驗證(Kerberos),所以STS不能使用Kerberos(我認爲)。 –
我可以將用戶名從win應用程序傳遞給STS,STS將關閉並填充聲明(角色)並生成/簽署SAML令牌發送出去。但是,如何贏得應用程序安全地將用戶名傳遞給STS? –
您必須向STS進行身份驗證才能安全地傳遞用戶的身份。如果您的工作站是Active Directory域的一部分,則可以使用Kerberos向STS進行身份驗證。 –