从Java中的ADFS获取SAML2令牌

问题描述:

当前我正尝试从Java应用程序连接到REST Web服务(https)。我花了一段时间才弄清楚调用Webservice的唯一方法是使用SAML2身份验证。我有用户凭证(名称+密码),连接应该在后台完成,用户不应该注意到该进程。 准确地说: 起初我必须联系ADFS进行身份验证并获得SAML2令牌。 第二我可以联系Web服务并添加SAML2令牌。从Java中的ADFS获取SAML2令牌

现在我想知道如何做到这一点。特别是联系ADFS是我现在陷入困境的地方。我想可以用opensaml来完成,但在研究期间,我没有找到解决方案。 有人可以给我一个简单的例子如何获得SAML2令牌?

ADFS服务器也是SecurityTokenService(STS),和你的java程序可以使用WS-信托客户通过交换的WS-Security用户名令牌从ADFS请求SAML令牌。 对于WS-信任的问题,请参见http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.html