zoukankan      html  css  js  c++  java
  • SAML 2.0 实例分析 sp向idp发送请求(3)

    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 是否被允许当发现用户不存在时创建用户账号。

  • 相关阅读:
    我的第二个思维导图,用来介绍框架
    如何减少基于DataSet框架的代码输入量(一)
    近日
    关于客户端如何获取服务器时间的方法
    匹配用逗号分隔的数字(防sql注入检查)
    十六进制字符串转整形
    sql获取自增行号
    body不出现滚动条方法
    vs2010 无法调试 无法进入断点 断点无效
    Textarea 高度自适应 根据内容自适应高度
  • 原文地址:https://www.cnblogs.com/wangxue1314/p/12731121.html
Copyright © 2011-2022 走看看