0

我已经下载了 API Manager 1.0.0 GA 的新版本。

我对发布 WSDL 感到困惑,因为它没有相关的 API KEY,每个人都可以访问它。

出于这个原因,我试图从 ESB 添加访问令牌,但这不会验证 API Manager 的用户(如 Apisubscriber)只有 ESB 内的用户(即使我已经为 APIManager 和 ESB user-mgt 配置了外部 JDBC db .xml)。

那么,有没有一种方法可以从 API Manager 为 WSDL 创建 API 密钥?或者如何控制对 API 存储中已发布 WSDL 的访问?

非常感谢


编辑:

在 ESB 中,我使用内置的安全方案为服务添加了安全性,在我的例子中,我使用了“ UsernameToken ”。这会根据 ESB“admin/everyone...”中定义的角色对用户进行身份验证,并且只接受在 ESB 的用户存储“admin/admin”中定义的用户(以及您可能创建的其他用户)。

我已将 ESB 和 AM 配置为共享相同的 mysqlDB用于用户存储,但这在我之前描述的安全场景中不起作用:如果我在 AP 内创建用户“apicreator”并在 ESB 内创建“usertest”,它们会存储用户在同一个 MySQL 数据库中,但在不同的“tentant”下,即“apicreator”不是在我的安全场景(UsernameToken)中进行身份验证的有效用户。我希望这个描述有助于澄清问题。谢谢

4

1 回答 1

1

使用 WSO2 API Manager,您无法控制对 API Store 中已发布 WSDL 的访问。目前无法从 API Manager 为 WSDL 创建 API 密钥。但必须通过您的后端进行控制服务。但是,从 WSO2 API Manager 创建 API 时,将 Wsdl url 作为输入不是必需字段,而是可选字段。

除此之外,我不清楚您的以下短语。“因此,我尝试从 ESB 添加访问令牌,但这不会仅对 ESB 内的用户进行身份验证 API Manager 的用户(如 Apisubscriber)”。你能多解释一下“从 ESB 添加访问令牌”是什么意思?

谢谢;

/拉拉吉

于 2012-09-08T11:26:48.037 回答