0

有谁知道如何为 WSO2 API Manager 添加基于 HMAC 的身份验证?

背景 - 我们在公开可用的 Web 服务之前推出 WSO2 API Manager 1.3,我们需要 JavaScript 应用程序(一旦经过身份验证)能够直接使用服务(而不是通过其服务器上的服务代理来处理 OAuth 身份验证)。

有谁知道在 WSO2 中实现此功能的最简单方法?我们已经开始实现 AbstractHandler 和 Authenticator 但这似乎有点过头了——一定有人这样做了,或者对此有一些指示?

非常感谢您提前。

4

3 回答 3

2

您可以编写自己的处理程序来实现AbstractHandler. 签名验证可以实现为类似于“APIAuthenticationHandler”的 API 处理程序。之前提供的访问令牌可用作 Mac 标识符。消费者密钥可以用作 Mac 密钥,它是消费者和提供者之间的共享密钥,用于对规范化的请求字符串进行签名。

于 2013-02-12T08:58:14.243 回答
0

我不知道这是否会对您有所帮助,但我们需要将密码哈希保存在 PBKDF2 中。所以我扩展了 JDBCUserStoreManager,只覆盖了 preparePassword 方法。对于 PBKDF2WithHmacSHA1 算法,它内部从 MessageDigest 更改为 SecretKeyFactory。我猜你可以使用Mac吗?

于 2013-02-12T06:49:11.260 回答
0

这可以通过实现自定义中介并将其加入流入序列中来实现。API Manager 公开的 API 将受 OAuth 保护,但实际后端将受 HMAC 保护。您可以在文章 [1] 中找到更多信息。

[1] https://wso2.com/library/article/2017/10/integrating-wso2-api-manager-with-a-hmac-secured-backend/

于 2017-12-13T18:50:49.620 回答