支持Shibboleth的Apache HTTPClient封裝:shib-http-client
圍繞 Apache HTTPClient 的簡約封裝增加Shibboleth支持。
特性如下:
- No IdP discovery - a pre-defined IdP is used
- No fancy logins - login to the IdP happens via HTTP Basic authentication
- No certificate checks - it is easy to disable all certificate checks. If you don't disable this, make sure your Java environment knows about the certificates used by the IdP and SP. </ul>
示例:
// Initialize OpenSAML DefaultBootstrap.bootstrap(); // The last argument indicates to accept any certificate HttpClient client = new ShibHttpClient(aIdpUrl, aUsername, aPassword, true); HttpGet req = new HttpGet("https://my/protected/url"); HttpResponse res = client.execute(req); ... = res.getEntity().getContent(); // returns an InputStream
1 Shibboleth簡介
Shibboleth是一個針對SSO的開源項目。Shibboleth項目主要應用在校園內Web資源共享,以及校園間的應用系統的用戶身份聯合認證。
Shibboleth主要針對分布式資源如何有效訪問的問題。與其他系統的區別在于Shibboleth將認證模塊放在客戶端,資源提供者只需進行少量的驗證工作,極大地減輕了資源提供者的負擔,簡化了訪問程序、提高了訪問資源的效率、安全性得到了保證。在系統擴展方面,Shibboleth采用了SAML規范,同時也在SAML上作了改進,保證了系統的可擴展性。
Shibboleth主要由3個部分組成:
(1)Origin
對應Identity Provider(IdP),身份提供端。主要作用是向資源提供者提供用戶的屬性,以便使資源服務器根據其屬性對操作進行判決響應。
(2)Target
對應Resource/Service Provider,資源/服務提供端。主要作用是響應用戶的資源請求,并向該用戶所在的Origin查詢用戶的屬性,然后根據屬性做出允許或拒絕訪問資源的決策。
(3)WAYF
WAYF是Where Are You From的首字母簡稱。SHIRE使用WAYF來進行大部分初始化工作。WAYF組件知道每一個Origin端句柄服務器的名稱和位置。其主要功能是將 Origin端站點名稱映射到HS信息上。WAYF的另一個作用是為用戶查詢HS并將句柄發送給SHIRE。WAYF通過與用戶打交道,詢問“你從哪來”,用戶輸入組織名稱,WAYF便在用戶組織的名稱與HS的URL之間進行映射。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!