首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展WebSphere SAML

扩展WebSphere SAML
EN

Stack Overflow用户
提问于 2019-06-17 23:40:42
回答 2查看 136关注 0票数 0

我有一个现有的金融应用程序,它使用API网关来验证基于web的用户。此网关为用户维护一个安全会话,并将SOAP调用代理到一个WebSphere盒。它将一个签名的SAML断言添加到这些SOAP调用中。

在WebSphere上部署了一系列JAX-WS服务,这些服务受到WebSphere策略的保护,以使用SAML断言。然后,将SAML断言中指定的身份和组成员身份传播到服务调用的WebSphere安全上下文。所有的工作都很好,所有的安全逻辑都是完全通过配置来完成的。

新的需求现在要求我们在API网关中将sessionId一直传播到WebSphere,甚至更远。这是出于可追溯性的原因。

显然,我们可以更改所有服务的WSDL以包含一些元数据字段,但这是一个很大的更改,需要非常广泛的测试。

我希望有一种方法可以将SAML断言中的一些任意属性(身份和groupMembership除外)映射到WebSphere安全上下文。甚至访问(经过身份验证的) JAX-WS服务中的SAML XML。

有人这么做过吗?

EN

回答 2

Stack Overflow用户

发布于 2019-06-19 02:15:36

您可以让API网关将sessionid添加为SAML属性,然后在WebSphere处理SAML后从Subject中检索该属性。下面是在处理SAML之后在WebSphere中获取SAML属性的示例代码。

代码语言:javascript
复制
    Subject subject = WSSubject.getRunAsSubject();


    SAMLToken samlToken = (SAMLToken) AccessController.doPrivileged(
                new java.security.PrivilegedExceptionAction() {
                    public Object run() throws java.lang.Exception
                    {
                        final java.util.Iterator authIterator = subject.getPrivateCredentials(SAMLToken.class).iterator();
                        if ( authIterator.hasNext() ) {
                            final SAMLToken token = (SAMLToken) authIterator.next();
                            return token;
                        }
                        return null;
                    }
                });

    Map<String, String> attributes = samlToken.getStringAttributes();
    List<SAMLAttribute>  attributes = samlToken.getSAMLAttributes();
票数 1
EN

Stack Overflow用户

发布于 2019-06-21 04:24:16

您可以使用WSSUtilFactory API为您完成此操作,而不是自己遍历证书:https://www.ibm.com/support/knowledgecenter/SSAW57

假设您使用的是SAML 2.0令牌,则可以执行以下操作:

代码语言:javascript
复制
WSSUtilFactory wssuf = WSSUtilFactory.getInstance();
SAMLToken token = wssuf.getSaml20Token();

getSaml20Token方法是在70043、80013、85510和9000年中添加到WSSUtilFactory中的。

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

https://stackoverflow.com/questions/56634662

复制
相关文章

相似问题

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