我们正在配置WSO2环境,以与我们的C#Web服务配合使用。通过API管理器对服务进行调用时,我们看到401未经授权错误。查看托管Web服务的服务器中的事件日志,我们看到“安全令牌验证失败”错误,指出签名验证失败。我们想要更改在base64中加密令牌的方式,以便不填充(RFC 6920),以便它可以与我们的C#服务一起使用。

是否有人对WSO2 JWT令牌的base64编码进行了这些更改,或者知道我们如何对系统配置文件进行更改?

最佳答案

除base64外,未提供任何配置来更改令牌编码。我可以建议一种解决方法,您可以在请求到达后端之前捕获该请求,并使用base64对其进行解码,然后使用首选的编码方法再次进行编码,然后将其重定向到后端。如果我进一步阐述解决方法,则可以在API Manager和后端之间添加ESB。在ESB中创建一个代理,并将在API管理器中创建的api指向该代理。代理的端点应该是后端。在该代理中,您可以添加一个类介体,您可以在该类介体中使用base64解码请求,并使用编码方法再次进行编码,然后发送给后端。

10-06 04:09
查看更多