如何在Chrome扩展Manifest V3中存储敏感数据



我正在开发一个使用React构建的Chrome扩展,该扩展处理加密钱包,我需要保存他们的钱包对象,这样他们就不必在每次关闭扩展并再次打开后解密它。所以我需要以某种方式安全地存储用户的密码或钱包的助记符。

Metamask使用持久的后台脚本来保持对象的活动,但这需要manifest版本2,新的扩展不再支持。

所以有任何方法来存储一个字符串安全地在一个Chrome扩展manifest版本3?Chrome存储和HTML5本地存储是不允许的。

使用chrome.storage.session,它正是为了这个目的而创建的:将变量存储在内存中,而不持久化到磁盘。

API是一样的任何其他chrome。存储API,所以数据必须是json兼容的:字符串,数字,布尔值,null,这些类型的数组/对象。

当前存储的最大容量为1MB。

async function foo() {
// reading
const foo = await chrome.storage.session.get('foo');
// writing
await chrome.storage.session.set({foo: 'bar'});
}

manifest.json:

"permissions": ["storage"]

最新更新