【问题标题】:Get request token from ADFS SAML .NET server from Java从 Java 的 ADFS SAML .NET 服务器获取请求令牌
【发布时间】:2019-10-08 19:19:34
【问题描述】:

我正在尝试从 Java 连接到 .NET 中的 Web 服务(WSDL 文件),但我无法进行身份验证。身份验证基于 ADFS SAML

我已经使用了所有库:Axis、Axis2、JAX-WS、Metro,但它们都不适合我。

然后我只是在 SAAJ 中制作了一个 SOAPEnvelope,并且我只是在没有任何其他 3rd 方库的情况下发送它。现在我确切地知道发送的是什么。

我不知道,如何正确填充标题消息?服务器使用 TransportWithMessageCredential 安全模式和 clientCredentialType="UserName"

由于它的 SAML,我需要发送带有凭据的消息,该凭据将发回我可以在后续消息中使用的令牌。

如何制作返回 SAML 令牌的请求消息?

【问题讨论】:

    标签: java .net saml adfs saaj


    【解决方案1】:

    为了将 SAML 与 ADFS 通信,您需要一个 client-side SAML stack

    因此,您可以通过 SAML 堆栈对 ADFS 进行身份验证并取回 SAML 令牌。

    有一个用于 SAML 的 SOAP 绑定,但 ADFS 不支持它。

    【讨论】:

    • 我没明白你最后一句的意思,ADFS 不支持 SOAP 绑定?
    • 换句话说,您无法通过 SOAP 向 ADFS 进行身份验证。
    • 谢谢!所以我需要使用 OpenSAML 来获取令牌,然后使用该令牌发出请求消息(实际数据操作)并将其发送到 Web 服务,对吗?
    • 正确 - 但 Web 服务必须能够接受 SAML 令牌。
    • 他们的系统称为 ADFS SAML,我认为它会接受。我只是不知道如何设置消息中的所有其他属性,例如如何生成 MessageID 等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2013-10-01
    • 2012-04-29
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多