项目是国外的一位大神发布到githut上,这里只是对项目代码的分析与学习,也算是一种强化记忆

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

项目分为一个idp,一个sp,以及他们共用的包 ,saml-commom ,我是觉得使用spring boot 来配置比之前使用xml来配置要清晰一些。项目运行前需要先安装配置lombok。基本满足一个sp对多个idp,sp对saml response的校验,

但是没有idp对sp请求的校验,这里的校验指的是对签名的校验,基本的格式的校验都是有的。

项目默认的sp运行在9090端口,idp的端口是8080,访问http://localhost:9090 ,点击登录,浏览器debug模式下,可以看到sp会向idp发送一个认证请求,接着我们可以在idp输入用户民密码进行登录并且返回sp,项目默认没有对用户名密码进行校验,这里有一个add

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进行生成。百度自取。

最新文章

  1. JAVA 设计模式 模板方法模式
  2. 最近在用mvc3开发时遇到的一些小问题与解决方法....
  3. javascript返回顶部几种代码总结
  4. Mysqldump记录
  5. 使用PHP从web访问mysql数据库
  6. 精通 VC++ 实效编程280例 - 01 窗口
  7. Unity Notes调制粒子系统的颗粒的最大数目
  8. 赵雅智_Android编码规范
  9. 高精度运算专题-输出函数与字符串转数字函数(Output function and the string to number function)
  10. C语言中strcpy,strcmp,strlen,strcat函数原型
  11. iOS开发支付集成之支付宝支付
  12. 关于H5的Canvas
  13. 再谈ERP选型
  14. MFC:位图和图标的设置
  15. [Swift]LeetCode121. 买卖股票的最佳时机 I | Best Time to Buy and Sell Stock
  16. 【Android】setXfermode属性
  17. 扇形多级菜单可配置Demo
  18. 框架tensorflow2
  19. CSS3渐变——线性渐变
  20. la 4394

热门文章

  1. MySQL on duplicate key update 批量插入并更新已存在数据
  2. C++ 数据类型提高+内存四区
  3. Codeforces Round #593 (Div. 2) C. Labs
  4. python变量与常量内容:
  5. DevExpress WPF v19.1新版亮点:Scheduler等控件新功能
  6. 查看是否安装jdk及路径
  7. 20180705 SSH,SSM
  8. Swagger+SpringBoot整理
  9. Linux 系统磁盘空间占满,df 和 du 结果不一致
  10. Python 爬虫十六式 - 第七式:正则的艺术