我正在制作一个Chrome扩展程序。
该扩展程序创建与用户提供的URL相对应的唯一代码。
我将此URL和uID写入我的Firestore数据库。
var url = document.getElementById("url").value;
var uID = randomID();
db.collection("links").doc(uID).set({
url: url
})
但是现在每个拥有我的API密钥(存储在一个普通JS文件中)的人都可以写入数据库,并且我需要扩展名才能写入数据库。
是否可以保护Chrome扩展程序的数据库安全?
答案 0 :(得分:2)
有几种保护数据库的方法。首先,您应该使您的插件要求对Firebase / Firestore进行某种形式的身份验证。
https://firebase.google.com/docs/auth/web/start
这将使您的插件用户无法匿名连接。然后,您可以将规则应用于Firestore,以在需要时保护数据。
如果您使用Chrome身份API,则可以使用用户的Google ID。这似乎是展示该过程的可靠示例扩展。
https://github.com/firebase/quickstart-js/tree/master/auth/chromextension
在我们的工作中,利用了Firebase提供的自定义令牌功能,因此我们可以使用自己的身份提供程序,如果您需要的话,它也可以很好地工作。
贴在文档上,他们的解释确实很好。