對於我們的客戶之一,我需要編寫自定義身份驗證源模塊。我已經將SimpleSAMLphp設置爲使用LDAP,SQLauth等各種身份驗證的Idp。所有這些身份驗證都有一個共同之處,那就是它們使用登錄表單並對sspmod_core_Auth_UserPassBase
類進行身份驗證。這意味着將是用戶名和密碼等SimpleSAMLphp不帶密碼的自定義身份驗證
的特殊情況在這裏登錄格式如下:
的SAML安裝(IDP)是企業網絡內部。如果用戶(在該網絡內/通過AD認證)訪問該網絡內的主機,用戶名將被自動注入到其瀏覽器中,並且可通過$_SERVER['PHP_AUTH_USER']
獲得,並且我們保證用戶已經被「驗證」 。
這意味着我們不必「認證」用戶了。我們不必顯示登錄表單,只需將該用戶標記爲已認證即可。
現在我有點卡住了,因爲對我的理解來說,寫一個自己的authsource會延長默認的UserPassBase
類有點「過量」。我將不得不處理空密碼,並自動從登錄表格等轉發/張貼等。
我想有一個更好的方法來處理。流程將非常簡單:
SP重定向到IdP。 IdP的「登錄頁面」爲PHP_AUTH_USER
(沒有輸出,如登錄表單),驗證用戶(沒有進一步檢查),並按照預期方式重定向,如果用戶被正確檢測到。如果無法找到PHP_AUTH_USER
,用戶將被重定向到某種錯誤頁面。
任何想法如何解決這個正確的方法?我想我將不得不編寫自己的全新的authsource類來擴展基類SimpleSAML_Auth_Source
類?也許有人有這樣的例子,在我要重新發明輪子之前!?
正是!謝謝! – Marco