当前位置: 首页 > 知识库问答 >
问题:

使用Shibboleth IdP的Web浏览器SAML SSO(无反向通道通信)

南宫炜
2023-03-14

我刚刚用我的web应用程序配置了Shibboleth IdP3.2,该应用程序根据后端的LDAP服务器对用户进行身份验证。

我可以在本地机器上测试这个身份验证过程。但是,在CI服务器部署代码时,我意识到身份验证过程无法成功完成。

此故障背后的原因是服务提供商(SP)无法访问(IdP)。根据我们最初的调查,我们选择SAML作为身份验证协议,而不是CAS等其他协议,因为它不需要反向通道通信。只要用户能够访问SP和IdP,身份验证过程就仍然可以工作。(SP和IdP无需相互作用)

在测试中,我们发现属性解析是成功的,但后续的工件解析是失败的。在工件解析中,IdP直接联系SP并期望得到响应。SP无法向IdP发送响应,因为它无法访问。因此,身份验证失败。(Tomcat日志显示:unknownHostException)

从本链接的流程图中可以看出,Web浏览器SSO中的一些SAML流不需要SP和IdP之间的直接通信。

Shibboleth IdP是否为此类实现做出了规定?是否有办法在没有任何反向通道通信的情况下实现Shibboleth IdP?

解决方案:

正如Stefan所提到的,有一些替代绑定,如HTTP重定向和HTTP-POST,它们不使用反向通道通信。您可以在此处阅读有关这些绑定的更多信息

我更改了SP元数据,将HTTP-POST作为默认绑定,引用了此链接。

我不必对Shibboleth IdP配置进行任何更改,因为这些替代绑定已经得到支持,元数据文件证实了这一点。

共有1个答案

燕俊明
2023-03-14

根据本文档,您可以设置outgoingBindings属性来设置要使用的首选绑定。

我还建议从SP元数据中删除HTTP工件绑定。

 类似资料:
  • 问题内容: 我花了一天的时间研究可用于完成以下任务的图书馆: 检索网页的全部内容(例如在后台),而不向视图渲染结果。 例如,lib应该支持触发ajax请求的页面,以便在加载初始HTML之后加载一些其他结果数据。 从生成的html中,我需要获取xpath或CSS选择器形式的元素。 将来我可能还需要导航到下一页(触发事件,提交按钮/链接等) 这是我尝试未成功的尝试: Jsoup:效果很好,但不支持ja

  • Web浏览器 web 浏览器(通常被称为浏览器)是一个用于检索、展示和遍历在万维网上的信息资源的软件应用程序. 信息资源被定义成统一资源定位符(URI/URL). 它可能是网页, 图片, 视频或者一个内容片断. 超链接的出现使用户能轻松的将浏览器导航到相关的资源, 尽管浏览器主要是为了使用万维网, 但它们还可以用来访问 Web服务器在私人网络所提供的信息或文件在文件系统. - Wikipedia

  • 问题内容: 为了澄清当我询问浏览器到浏览器的通信时,我的意思是在转发消息之间没有服务器。我想为游戏实现这样的功能。如果无法在websockets中使用p2p,是否有类似的选择?任何帮助表示赞赏。 问题答案: 否。浏览器只能启动WebSockets连接,不能接收它们。在W3C的浏览器API规范只定义了如何启动出站连接。 您可以创建一个既可以启动也可以接受WebSockets连接的应用程序,但是浏览器

  • 内部Web浏览器 内部Web浏览器视图允许您从Eclipse Workbench窗口中浏览Internet。 要激活内部Web浏览器视图,请单击窗口,然后选择显示视图→其他。 在“显示视图”对话框的过滤器文本框中,输入浏览器 。 从树中选择Internal Web Browser ,然后单击OK 。 要导航到网页,请在“内部Web浏览器”视图的“URL”文本框中输入该网页的URL。

  • 我正在尝试开发一个VueJS单页应用程序,让你登录AAD,这样我就可以获得一个访问令牌来调用各种API(例如Graph)。 一旦用户登录,您必须获得一个令牌,有两种方法可以做到这一点:静默(如果失败,使用重定向体验)。 但是,我无法使用这两种方法获取令牌: 加载SPA后,我会被重定向到AAD登录页面。 然后我得到以下警报提示: 使用静默时出错: ClientAuthError:no_account

  • 问题内容: 是否可以将selenium连接到我通常使用的浏览器而不是驱动程序?对于正常浏览,我使用带有多个插件的chrome-添加block plus,flashblock等。我想尝试使用此特定配置加载网站。我怎样才能做到这一点? 我不在乎是否使用驱动程序生成进程。我只想要完整的浏览器配置-Cookie,插件,字体等。 谢谢 问题答案: 首先,您需要下载,然后将环境变量的可执行路径放置到环境变量中