我有一个api,它使用OAuth 1.0a来验证使用它的应用程序.它正在取代一个旧的api,它使用了一些被弃用的定制和hodge-podge调用.
众所周知,OAuth 1.0a在(客户端)Javascript中并不安全,因为它依赖于保密的消费者秘密.这是不可能的,因为源始终是可见的.
我们为Chrome,Firefox,IE和Safari提供了浏览器扩展,将来需要使用此API.这些扩展都是大部分或完全用Javascript编写的,因此也存在安全性问题.
这些扩展是内部的,因此可以使用自定义身份验证方法来获取其访问令牌.
我计划实施的内容如下:
它在以下假设下运作:
我的问题是,这是一种限制访问api的安全方法吗?还有更好的吗?
几个笔记. 我知道有一个事实,Chrome扩展可以请求访问您的给定网站的cookie的权限.我相信firefox扩展也可以这样做.
显然,我们不希望我们的cookie可以通过任何页面上的javascript访问,否则我们会暴露自己的XSS攻击,因此它们只需要通过扩展来访问.