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

  • 相关阅读:
    sublime配置攻略
    Objective-C代码块语法(block)使用
    [C/C++]_[VS2010来源与UTF8中国字符串转码ANSI问题]
    Android资源管理框架(Asset Manager)简介和学习计划
    ExtJs自学教程(1):从一切API开始
    ORACLE触发特定的解释
    同TextView在不同的显示内容
    :gAudit
    IIS日志分析 MapReduce
    图片存储心得
  • 原文地址:https://www.cnblogs.com/wangxue1314/p/12731121.html
Copyright © 2011-2022 走看看