gpt4 book ai didi

java - 在 servlet 环境(Tomcat Web 服务器)中使用 OPENSAML2 时出现编码错误

转载 作者:行者123 更新时间:2023-11-30 04:58:52 25 4
gpt4 key购买 nike

我正在尝试使用 OpenSAML2 库设置我的服务提供程序。我正在尝试设置一个 servlet,它接受来自用户浏览器的 HttpRequest,并根据我想要创建 SAML 身份验证请求数据包的请求参数。

我能够创建 SAML 数据包,但是我想对 SAML 进行 Base64 编码,以便我可以将用户浏览器重定向到身份提供程序服务器。为此,我尝试使用“org.opensaml.saml2.core.impl.AuthnRequestMarshaller#marshall(AuthnRequest)”来编码 SAML 身份验证请求。

当我在 Web 服务器环境(独立 JAVA 应用程序)之外尝试时,效果很好。但是,当我将其作为 servlet 组件运行时,我收到一条错误消息“没有可用于 {urn:oasis:names:tc:SAML:2.0:assertion}Issuer,{urn:oasis:names:tc:SAML:2.0 的子级”的编码器:protocol}AuthnRequest",其中 Issuer 是 AuthnRequest 对象的组件。

我正在使用 Tomcat 5.5.34 网络服务器。如果有人能帮助我弄清楚这里发生了什么,那就太好了。它也将帮助其他尝试编写自己的服务提供者的人。令人惊讶的是,可用于此目的的文档非常少。

谢谢,考斯图布

最佳答案

您需要在 Tomcat common/endorsed 目录中包含以下 jars..

  • resolver-2.9.1.jar
  • serializer-2.9.1.jar
  • xalan-2.7.1.jar
  • xercesImpl-2.9.1.jar
  • xml-apis-2.9.1.jar

Here是 SAML2 服务提供程序的示例 [还包括示例 WAR]。

关于java - 在 servlet 环境(Tomcat Web 服务器)中使用 OPENSAML2 时出现编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com