【发布时间】:2013-05-26 19:48:41
【问题描述】:
我想写一个谷歌浏览器扩展,它应该向我的网站发出请求以发送和获取一些数据,所以,实际上我应该像这里写的那样做一个 ajax 请求https://developer.chrome.com/extensions/xhr.html
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://api.example.com/data.json", true);
我想问是否有办法以某种方式保护代码或阻止其他人使用我的 api,因为实际上其他用户在安装扩展程序时可以看到它的源代码,因此在我不知道的情况下使用我的 api 。
编辑:
如果我需要进行某种身份验证,那么在进行 ajax 调用之前如何对用户进行身份验证?对于身份验证,我需要向我的服务器发送请求,但为此我应该发送,例如用户名和密码,应该保存在扩展程序文件的某个位置,实际上,用户在安装扩展程序时可以看到。
谢谢
【问题讨论】:
-
您在 chrome 扩展程序中公开了一个公共 api - 并且您不希望该扩展程序的其他用户使用它?那这个api是什么意思呢?
-
您可以使用 google chrome 身份验证 api 识别您的用户,并在您身边存储一些东西以确保用户拥有权限。见这个谷歌文档; developer.chrome.com/apps/app_identity.html
-
@madflow,如果我想让我的 api 只被授权的人使用怎么办,那没有意义吗?
-
谢谢@Happyninja,我会查看文档
-
@Davo - 如果您希望您的 API 只能由授权人员使用,那么您需要包含一些身份验证模式......例如,如果您假设所有连接都已获得授权,那么您当然可以有缺陷。也许查看 oAuth 并使用令牌。 developer.chrome.com/extensions/tut_oauth.html.
标签: api google-chrome-extension