2012-09-10 163 views
0

我希望使用wso2 api管理器将我的webservices暴露给移动应用程序。我希望将api密钥存储在客户端的本地存储中,并将它与api调用一起用于身份验证。那么,我怎么能通过wso2 api管理器为每个Web服务传递自动生成的API密钥并将其传递给客户端呢?有没有其他的办法呢?WSO2 API管理器安全层

回答

0

您可以使用WSO2 API Manager提供的'jaggery' API来实现您的要求。

'jaggey'基本上是由WSO2自己开发的服务器端Java脚本语言。 WSO2 API Manager的API Store和API Publisher Web应用程序使用'jaggery'供电。 jaggery的语法非常类似于java脚本,但其功能更像JSP,因为它在服务器中执行。所有的API管理器后端功能都暴露为jaggery API。但目前没有关于这些API的文档。

我建议您下载WSO2 API Manager源代码[1],并查看以下文件以更好地了解如何实现此目的。为了从客户端应用程序生成应用程序密钥,您需要调用HTTP请求到特定的jaggery page [2]。作为一个例子,在API Store应用程序中如何进行调用可以在[3]中找到。您必须发送类似的HTTP请求才能获得与API Store中相同的响应。在生成密钥之前,客户端也必须登录。为此,您需要向[4]发送HTTP请求。在[5]中可以找到API Store应用程序中如何进行此调用。

[1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/components/apimgt

[2] apimgt/API-商店的Web/SRC /站点/块/订阅/订阅的添加/ AJAX /订阅的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.ja g

+0

谢谢,我去检查一下。 – Maddy