Redirect 我应该如何为SAML WebSO概要文件实现HTTP POST协议绑定?

Redirect 我应该如何为SAML WebSO概要文件实现HTTP POST协议绑定?,redirect,http-post,saml,post-redirect-get,Redirect,Http Post,Saml,Post Redirect Get,我已经使用HTTP POST协议绑定,按照Web SSO的SAML配置文件实现了我的服务提供者和标识提供者。但是,如果来自服务提供商的HTTP POST没有绑定到身份提供商上的会话,那么身份提供商将如何提供,我有点困惑 有人能告诉我怎样才能做到这一点吗 我可以使用的另一种方法是HTTP重定向绑定,但这需要用户代理干预(即浏览器),通常仅将用户代理用作传递中介,以方便请求-响应消息交换。出于这个原因,我宁愿使用HTTPPOST,因为消息交换发生在服务器端,所以用户在屏幕上看不到任何事情 然而,在如

我已经使用HTTP POST协议绑定,按照Web SSO的SAML配置文件实现了我的服务提供者和标识提供者。但是,如果来自服务提供商的HTTP POST没有绑定到身份提供商上的会话,那么身份提供商将如何提供
,我有点困惑

有人能告诉我怎样才能做到这一点吗

我可以使用的另一种方法是HTTP重定向绑定,但这需要用户代理干预(即浏览器),通常仅将用户代理用作传递中介,以方便请求-响应消息交换。出于这个原因,我宁愿使用HTTPPOST,因为消息交换发生在服务器端,所以用户在屏幕上看不到任何事情

然而,在如何将会话与请求绑定方面,使用HTTP重定向对我来说更有意义。由于HTTP重定向是通过用户代理实现的,因此对IdP的请求将有一个会话(如果之前经过身份验证)。我不明白的是如何通过HTTP重定向发送
由JST回答

所以我有点困惑,我很想听听其他人在做什么。以下是我的问题:

  • 使用HTTP POST协议绑定
    IsPassive
    选项
    ,如何将服务提供商发出的请求绑定到身份提供商上的会话?换句话说,如果帖子来自技术上属于匿名会话的服务提供商,身份提供商如何知道谁在发出请求
  • 使用HTTP重定向协议绑定,如果使用HTTP重定向,如何向身份提供程序发送
    由JST回答

  • 更新 抱歉,如果我在上面的解释中不清楚,会造成混乱。我正在实现IdP和SP(通过插件)。IdP是我希望SP(第三方系统)用于身份验证(即Web SSO)的现有应用程序。我现在正在开发一个简单的PoC。SP实际上是一个第三方Spring应用程序,我正在为它开发一个插件来执行SAML操作


    我应该提到,我正在尝试使用
    IsPassive
    选项执行此操作,这意味着用户代理在消息交换过程中不起作用。它只是启动SAML派对的催化剂。对吗?考虑到这一点,考虑到用户在步骤1中是匿名的,SP会向IdP发送什么,以允许IdP确定用户是否已经通过身份验证?由于IsPassive,HTTP POST不会通过用户代理发送


    更新 问题1修订:当
    IsPassive
    选项打开时发送
    authnrequiset
    时,IdP如何解决委托人的问题

    直接摘自SAML 2.0概要文件,第15页,第417至419行:

    在步骤4中,识别主体 通过某种方式提供的身份 超出此配置文件的范围

    我真正想要的是解释如何实现一些方法

    约翰

    在决定编写自己的SAML IDP/SP实现之前,我可能建议您后退一步,做更多的研究。您似乎将绑定与配置文件、主动请求与请求的Web SSO以及SAML要求用户代理(也称为浏览器)是IDP和SP之间几乎所有消息的承载者这一事实混为一谈。规范中还有大量信息需要实现,以确保您的解决方案实际上是安全的

    我建议先从我们的网站开始,然后转到网站,以获取有关这些流量的信息

    或者,如果您决定选择最佳产品,您可以查看我们的PingFederate产品,它可以在<一天内为您启用所有SAML IDP/SP用例

    希望这有帮助-
    Ian

    与Ian不同,我与生产SAML相关产品的公司没有关联。然而,我会给出一些类似的建议:后退一步,找出您为什么要实现SP或IdP。你真的同时扮演SP和IdP,还是你真的只是其中一个?如果您只是作为IdP实现/执行,那么很可能像PingFederate或类似的产品通过配置提供您所需的一切,而不是要求您编写自定义代码。如果您正在实施SP,那么这样的产品可能会帮助您,但这在很大程度上取决于您将其集成到的系统的特性。我是作为一名开发人员发言的,他已经完成了IdP和SP实现,并且在确定由于我们的特定系统、客户机和需求,定制实现是我们的最佳选择之前评估了一些工具。它已经存在一年多了,有几个客户使用它(包括一些使用各种商业IdP工具的客户)


    如果您可以根据SAML配置文件/绑定来识别您的用例,那么您就可以更好地做出购买还是构建的决定。

    需要记住的是,IdP上的会话和SP上的会话之间没有任何连接。它们彼此不了解,只能通过SAML消息进行通信。SP启动SAML SSO的一般步骤如下:

  • 匿名用户访问SP上的资源(页面)
  • SP确定用户需要在IdP进行身份验证
  • SP构造AuthnRequest并发送给IdP
  • IdP执行某种身份验证,构造SAML响应并发送到SP
  • SP验证响应,如果有效,则执行任何必要的操作,以标识SP上的用户,并将其发送到最初请求的资源
  • 是的,确实需要某种方式将SP的AuthnRequest连接到IdP的响应。SAML规范涵盖了这一点:SP的AuthnRequest包括