WSO2 API管理器安全层

时间:2012-09-10 11:57:28

标签: security oauth wso2 wso2-am

我希望使用wso2 api manager将我的webservices暴露给移动应用程序。我想在客户端的localstorage中存储api密钥,并将其与api调用一起使用进行身份验证。那么如何通过wso2 api管理器为每个Web服务传递自动生成的api密钥并将其传递给客户端?这有什么替代方案吗?

1 个答案:

答案 0 :(得分:0)

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

'jaggey'基本上是由WSO2自己开发的服务器端java脚本语言。 WSO2 API Manager的API Store和API Publisher Web应用程序使用'jaggery'提供支持。 jaggery 的语法很像java脚本,但它的功能更像是JSP,因为它在服务器中执行。所有API Manager后端功能都作为 jaggery API公开。但是目前没有关于这些API的文档。

我建议您下载WSO2 API Manager源代码[1]并查看以下文件,以便更好地了解如何实现这一目标。要从客户端应用程序生成应用程序密钥,您需要调用HTTP请求到某个 jaggery 页面[2]。例如,可以在[3]中找到API存储应用程序中此调用的发生方式。您必须发送类似的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