spring boot 整合saml2

項目是國外的一位大神發佈到githut上,這裏只是對項目代碼的分析與學習,也算是一種強化記憶java

附上 githut地址:https://github.com/OpenConext/Mujinanode

項目分爲一個idp,一個sp,以及他們共用的包 ,saml-commom ,我是以爲使用spring boot 來配置比以前使用xml來配置要清晰一些。項目運行前須要先安裝配置lombok。基本知足一個sp對多個idp,sp對saml response的校驗,git

可是沒有idp對sp請求的校驗,這裏的校驗指的是對簽名的校驗,基本的格式的校驗都是有的。github

項目默認的sp運行在9090端口,idp的端口是8080,訪問http://localhost:9090 ,點擊登陸,瀏覽器debug模式下,能夠看到sp會向idp發送一個認證請求,接着咱們能夠在idp輸入用戶民密碼進行登陸而且返回sp,項目默認沒有對用戶名密碼進行校驗,這裏有一個addspring

attribute,能夠添加你想給sp的數據,這些數據會在samlresponse一併返回給sp瀏覽器

 

關於saml2 ,是一種安全認證協議,若是你打開一個sp的頁面,或者說是一個客戶端的頁面,若是你沒登錄,會自動跳轉idp進行登陸,在以前sp和idp會把本身的證書給sp,或者應該說是metadata,在sp的resource目錄下能夠找到,安全

關於saml的講解能夠查查這個http://saml.xml.org/search/node/Validate+authnrequest+sign,維基百科上也講的很清楚,說實話配置是真的多。學習

證書主要包含一份idp的公鑰,和一個idp的認證地址。sp會使用這個公鑰對請求進行加密。證書能夠使用戶javatool進行生成。百度自取。加密

相關文章
相關標籤/搜索