我希望使用 wso2 api manager 将我的 web 服务公开给移动应用程序。我想将 api 密钥存储在客户端的本地存储中,并将其与 api 调用一起用于身份验证。那么如何将wso2 api manager为每个web服务自动生成的api key传递给客户端呢?有没有其他选择?
1 回答
您可以使用WSO2 API Manager 提供的“jaggery” API 来满足您的要求。
'jaggey'基本上是由 WSO2 自己开发的一种服务器端 java 脚本语言。WSO2 API Manager 的 API Store 和 API Publisher Web 应用程序使用'jaggery'提供支持。jaggery的语法很像 java 脚本,但它的功能更像 JSP,因为它在服务器中执行。所有 API Manager 后端功能都作为粗略的API 公开。但是目前没有关于这些 API 的文档。
我建议您下载 WSO2 API Manager 源代码 [1] 并查看以下文件以更好地了解如何实现此目的。为了从客户端应用程序生成应用程序密钥,您需要调用 HTTP 请求到某个乱七八糟的页面 [2]。例如,可以在 [3] 中找到此调用如何在 API Store 应用程序中发生。您必须发送类似的 HTTP 请求才能获得与 API Store 中相同的响应。在生成密钥之前,客户端还必须登录。为此,您需要向 [4] 发送 HTTP 请求。此调用如何在 API Store 应用程序中发生可以在 [5] 中找到。
[1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/components/apimgt
[2] apimgt/api-store-web/src/site/blocks/subscription/subscription-add/ajax/subscription-add.jag
[3] apimgt/api-store-web/src/site/themes/fancy/templates/subscription/subscription-list/js/subscription-list.js
[4] apimgt/api-store-web/src/site/themes/fancy/templates/user/login/js/login.js
[5] apimgt/api-store-web/src/site/blocks/user/login/ajax/login.jag