为SAML令牌交换JSON

时间:2014-09-02 15:18:33

标签: json security soap oauth saml

我们有一个SAML SSO系统和SOAP服务,用于使用和检查这些SAML令牌。现在我们想要使用WSO2 ESB在这些SOAP服务之上构建一个JSON REST代理。

但是,要对JSON服务进行身份验证,我们只能发送一个json令牌。因此,当ESB将JSON转换为SOAP时,它应该(可以在idp的帮助下)将JSON令牌转换为SAML令牌,以便现有服务可以处理它。

这可能吗?我只能找到相反的结果,因此为OAUTH JSON令牌交换SAML令牌。

1 个答案:

答案 0 :(得分:0)

WSO2目前无法将JSON令牌(JWT)转换为开箱即用的SAML令牌。您必须执行自定义实现才能实现此目的。我可以看到两种选择:

  1. 为WSO2 IS STS创建自定义策略,将其保护为UT,将用户名(从JWT主题中读取)和密码(将base64endoced JWT本身作为密码发送)发送给STS。创建自定义密码回调处理程序以验证JWT作为密码并发出SAML令牌。

  2. 不是发送JWT,而是在ESB上发送OAuth令牌,将此令牌发送到WSO2 Identity Server的OAuth2TokenValidationService。 OOTB,WSO2 IS在验证响应中发送JWT,但您可以编写自定义扩展来返回SAML令牌而不是JWT。您必须实现TokenGeneratorImplClass并在AuthorizationContextTokenGeneration config下的identity.xml中对其进行配置。