Taobin-Recipe-Manager/client-electron/electron/keychain.ts

23 lines
713 B
TypeScript
Raw Normal View History

import { findCredentials, getPassword, setPassword } from '@postman/node-keytar'
export function eventGetKeyChain(icpMain: Electron.IpcMain) {
icpMain.on('get-keyChain', (event, serviceName, account) => {
getPassword(serviceName, account).then(password => {
event.returnValue = password
})
})
icpMain.on('set-keyChain', (_event, serviceName, account, password) => {
setPassword(serviceName, account, password)
})
icpMain.on('delete-keyChain', (_event, serviceName, account) => {
setPassword(serviceName, account, '')
})
icpMain.handle('keyChainSync', async (_event, serviceName) => {
const credentials = await findCredentials(serviceName)
return credentials
})
}