• spring boot 整合saml2


    项目是国外的一位大神发布到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进行生成。百度自取。

  • 相关阅读:
    MacBook设置终端颜色,补全忽略大小写,设置命令别名alias,设置vim,设置显示git分支
    lvs
    java lock锁住特定对象
    java实现版本比较
    mysql根据时间查询日期的优化
    DIV固定宽度和动态拉伸混合水平排列
    js控制input text字符键入/字符长度限制/字母自动大写
    CSS实现响应式布局(自动拆分几列)
    重命名流程
    div按照屏幕尺寸(设备大小)进行缩放
  • 原文地址:https://www.cnblogs.com/chenyangwang/p/10012540.html
Copyright © 2020-2023  润新知