首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Picketlink从获取空文档

Picketlink从获取空文档
EN

Stack Overflow用户
提问于 2017-04-26 17:29:02
回答 1查看 75关注 0票数 0

这是Jboss 6.4附带的Picketlink Federation 2.5.4 SP4类org.picketlink.identity.federation.web.handlers.saml2.SAML2AuthenticationHandler的摘录( 2.5.4 SP4版的picketlink.org github上没有标签?)我的问题是,第一行request.getRequestDocument()返回null。对象本身的请求(SAML2HandlerRequest)看起来很好(不是null):

代码语言:javascript
复制
 public void handleStatusResponseType(SAML2HandlerRequest request, SAML2HandlerResponse response)
            throws ProcessingException {
        HTTPContext httpContext = (HTTPContext) request.getContext();
        ResponseType responseType = (ResponseType) request.getSAML2Object();

    (...)

    Document responseDocument = request.getRequestDocument();
            Element assertionElement =
                    DocumentUtil.getChildElement(responseDocument.getDocumentElement(),
                            new QName(JBossSAMLConstants.ASSERTION.get()));

            if (assertionElement != null) {
                try {
                    Document assertionDocument = DocumentUtil.createDocument();
                    Node clonedAssertion = assertionElement.cloneNode(true);

                    assertionDocument.adoptNode(clonedAssertion);
                    assertionDocument.appendChild(clonedAssertion);

                    String assertionAttributeName = (String) handlerConfig
                            .getParameter(GeneralConstants.ASSERTION_SESSION_ATTRIBUTE_NAME);

                    if (assertionAttributeName != null) {
                        session.setAttribute(assertionAttributeName, assertionDocument);
                    }

                    session.setAttribute(GeneralConstants.ASSERTION_SESSION_ATTRIBUTE_NAME, assertionDocument);
                } catch (ConfigurationException e) {
                    throw new ProcessingException("Could not store assertion document into session.", e);
                }
            }

仅供参考,我需要这个文档的原因是,正如您在代码中看到的,如果responseDocument为空,则asserionElement也为空。如果assertionElement为空,那么我的SAML令牌将不会在给定密钥下的HTTPSession中,这就是我需要的。

身份提供者是PingIdentity。在我必须学习整个PicketLink代码库之前,这里可能会发生什么?

谢谢!

仅供参考,我的设置是jboss 6.4,带有附带的picketlink (2.5.4 SP4),带有用于SAML令牌的PingIdentity (IdP)。仅供参考,一切都在从WebApp 1到WebApp 2的单点登录场景中工作,唯一的事情是我需要从WebApp 2上的单点登录会话中获取SAML令牌……

EN

回答 1

Stack Overflow用户

发布于 2017-04-26 17:53:07

知道了)),PingIdentity IdP SP连接,浏览器单点登录,协议设置,我必须“加密整个断言”。将其设置为"None",修复它,然后在HTTP会话中获得我的令牌。所以..。...with公钥基础设施,我们用公钥(证书)加密,用私钥(密钥)解密。因此,要么picketlink没有正确的私钥(但我认为它有),要么两个系统不理解如何进行PKI加密/解密……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43630202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档