SAML 2.0 实例分析 sp向idp发送请求(3)
2024-08-27 22:45:55
user没有登陆过sp,此时sp向idp发送请求,下文是请求的xml形式
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
AssertionConsumerServiceURL="http://localhost:8080/sp/consumer"
Destination="http://localhost:8080/idp/sso"
ID="fd57f81a-d58f-433e-8f6f-0874fc0f939e"
IssueInstant="2020-04-18T03:19:42.430Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">http://localhost:8080/sp</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</samlp:AuthnRequest>
该请求根节点是 <samlp:AuthnRequest> 来表明是一个认证请求,有如下几个参数:
1、 AssertionConsumerServiceURL 断言sp地址,即当 IDP 认证成功后响应返回的地址
2、 Destination 目标地址,即 IDP 接收请求的地址
3、 ID 该请求的唯一标识
4、 IssueInstant 请求的时间
5、 ProtocolBinding SP 声明此次通信的绑定方式,不同的绑定方式意味着不同的通信流程,SAML2.0 主要包括:HTTP-Artifact,HTTP-POST,HTTP-Redirect,SOAP 等几种绑定方式。
6、 Version 版本号
7、 saml:Issuer SP 的 Id 标识
8、 samlp:NameIDPolicy IDP 对于用户身份的标识;NameID policy 是 SP 关于 NameID 是如何被创建的说明;Format 指明 SP 需要返回什么类型的标识(SAML Artifact);属性AllowCreate指明 IDP 是否被允许当发现用户不存在时创建用户账号。
最新文章
- 关于如何通过定义自己的CameraManager来控制视角
- 接口 Post
- boost 编译,windows平台
- 测试mysql的sql语句预编译效果
- Careercup - Facebook面试题 - 6139456847347712
- collectionView代码创建
- BlockingQueue-线程的阻塞队列
- Mac OS命令行运行Sublime Text
- Forstner算子
- hdu_5868:Different Circle Permutation
- [Swift]LeetCode454. 四数相加 II | 4Sum II
- RSA签名的PSS模式
- 字体图标-把SVG图标转换成所需要的字体图标
- python数据结构与算法第八天【冒泡排序】
- ThinkPHP同时操作多个数据库
- struts2_文件上传的功能
- TaskAsyncHelper
- C艹复合类型(字符串)
- MySQL常用shell语句
- MU-MIMO学习