如何在 Chrome 扩展清单 V3 中存储敏感数据
How to store sentitive data in Chrome extension Manifest V3
我正在开发一个 Chrome 使用 React 构建的处理加密钱包的扩展,我需要保留他们的钱包对象,这样他们就不必在每次关闭后都解密它扩展并再次打开它。所以我需要以某种方式安全地存储用户的密码或钱包的助记词。
Metamask 使用持久后台脚本来保持对象活动,但这需要清单版本 2,新扩展不再支持该版本。
那么有没有什么方法可以将字符串安全地存储在清单版本 3 的 Chrome 扩展中? Chrome 存储和 HTML5 本地存储是不行的。
使用 chrome.storage.session
,它的创建正是为了这个目的:将变量存储在内存中而不持久保存到磁盘。
API与其他chrome.storageAPI一样,所以数据必须是JSON-compatible:string, number, boolean, null, array/object 这些类型。
当前最大存储容量为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"]
我正在开发一个 Chrome 使用 React 构建的处理加密钱包的扩展,我需要保留他们的钱包对象,这样他们就不必在每次关闭后都解密它扩展并再次打开它。所以我需要以某种方式安全地存储用户的密码或钱包的助记词。
Metamask 使用持久后台脚本来保持对象活动,但这需要清单版本 2,新扩展不再支持该版本。
那么有没有什么方法可以将字符串安全地存储在清单版本 3 的 Chrome 扩展中? Chrome 存储和 HTML5 本地存储是不行的。
使用 chrome.storage.session
,它的创建正是为了这个目的:将变量存储在内存中而不持久保存到磁盘。
API与其他chrome.storageAPI一样,所以数据必须是JSON-compatible:string, number, boolean, null, array/object 这些类型。
当前最大存储容量为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"]