2012-07-02 28 views
2

我相信这个问题已经被问了很多时间。使用应用程序名称和应用程序密码调用Rest API - 我如何保护它

但想重新确认我的疑问,并得到一些提示。

我打算玩buddy.com后端作为服务。 ,我发现如果您使用的是JavaScript,大部分REST API都需要嵌入App Name和Password。 他们还没有任何关于JavaScript的文档。 但是想知道如果我现在必须从Javascript使用普通的HTML或HTML5的Web应用程序开始使用它。我如何使用它。

我不想在明文中传递应用程序密码,因为任何人都可以做浏览器的视图源,或者可以运行小提琴来查看被调用的内容。 我知道一次会说,嘿为什么你不使用令牌系统有效的特定时间。

但我是这里的消费者, 如何保护在浏览器视图源中看到的密码,因为我将通过网页/应用程序中的Java脚本调用API。 buddy.com API的

典型例子

http://webservice.buddyplatform.com/Service/v1/BuddyService.ashx?Pictures_ProfilePhoto_Add&BuddyApplicationName= & BuddyApplicationPassword = & UserToken = & bytesFullPhotoData = & ApplicationTag = & RESERVED =

任何提示,将不胜感激。 谢谢

+4

如果他们不提供生成客户端密钥的方式(如OpenTok或Twilio Client),则需要通过您自己的后端为通过应用程序验证的用户代理请求。 –

+0

谢谢,我知道后端会很容易。 但是,如果你愿意通过JavaScript来做到这一点,有没有办法来保护它? – Rahul

回答

1

客户端运行的JavaScript总是可以用GreaseMonkey修改。 所有VARIABLES都可以使用JavaScript调试器(如Firebug)读取。 所有请求可以截取和修改tamperdata

结果是,你永远不可能信任JavaScript,因为它的客户端代码。为了保护攻击者的秘密,你需要避免使用JavaScript。您可以使用中介API执行此操作,该API知道秘密并代表客户端执行请求。此API需要强制认证,或者谁有权访问给定的资源。

相关问题