mirror of
https://github.com/bitwarden/browser
synced 2025-12-17 08:43:33 +00:00
keytar storage listener
This commit is contained in:
32
src/electron/keytarStorageListener.ts
Normal file
32
src/electron/keytarStorageListener.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { ipcMain } from 'electron';
|
||||
|
||||
import {
|
||||
deletePassword,
|
||||
getPassword,
|
||||
setPassword,
|
||||
} from 'keytar';
|
||||
|
||||
export class KeytarStorageListener {
|
||||
constructor(private serviceName: string) { }
|
||||
|
||||
init() {
|
||||
ipcMain.on('keytar', async (event: any, message: any) => {
|
||||
try {
|
||||
let val: string = null;
|
||||
if (message.action && message.key) {
|
||||
if (message.action === 'getPassword') {
|
||||
val = await getPassword(this.serviceName, message.key);
|
||||
} else if (message.action === 'setPassword' && message.value) {
|
||||
await setPassword(this.serviceName, message.key, message.value);
|
||||
} else if (message.action === 'deletePassword') {
|
||||
await deletePassword(this.serviceName, message.key);
|
||||
}
|
||||
}
|
||||
|
||||
event.returnValue = val;
|
||||
} catch {
|
||||
event.returnValue = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user