saml2.0 java 例子_saml2.0(主要是idp端开发)

本文介绍了如何使用Java进行SAML2.0身份提供者(IDP)的开发,重点是IDP端的身份验证和SAML响应生成。文章提到了SP发送SAML AuthnRequest到IDP,IDP验证后返回SAML Artifact Response的过程。关键点包括初始化SAML,POST请求的处理,加密算法的选择以及如何使用PFX文件处理证书,涉及opensaml库的使用和签名操作。
摘要由CSDN通过智能技术生成

附上大佬文章:

https://www.jianshu.com/p/d041935641b4

https://www.jianshu.com/p/6f61fa7be0b6

https://www.jianshu.com/p/6c72408fa480

看了大佬的文章和demo基本能搞出来一套本地可用的saml2.0。

在我开发过程中主要是我们作为IDP,做统一登录后发送给第三方SP做免登录。

主要就几个过程:

1.SP通过发送SAML AuthnRequest到IDP,来请求鉴别用户身份

2.IDP验证身份,然后通过SAML产物响应(SAML Artifact Response)发送回SP

其中几个点:

1.记得初始化SAML,否则会出现NPE

2.如果有需要POST请求,可通过简单form表单自动提交

window.οnlοad= function(){

document.getElementById('myForm').submit();

}

3.responseValue是response的base64加密

4.opensaml 3 默认加密算法是sha256,如果需要sha1可能需要降低到opensaml 2

5.opensaml 3 采用的是分开打包maven的方式,需要引入很多个模块,参考大佬文章,opensaml 2 是整体maven直接引入即可。例如:

org.opensaml

opensaml

2.6.4

ch.qos.logback

logback-core

1.1.7

ch.qos.logback

logback-classic

1.1.7

commons-logging

commons-logging

1.2

org.opensaml

xmltooling

1.4.4

6.断言可以对assertion做,也可以对整个response做签名。根据需要自选。

这个签名主要是idp端用证书私钥做签名,sp端用公钥做验签。

我采用的是pfx的方式,把文件流读入,然后获取私钥,公

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值