@kavachos/electron
v0.1.0
Published
KavachOS auth client for Electron desktop apps
Readme
@kavachos/electron
Electron integration for KavachOS — secure storage, OAuth windows, and IPC bridge.
Install
npm install @kavachos/electronUsage
Set up the IPC bridge in the main process, then use the provider in the renderer.
// main.ts (main process)
import { setupKavachIpc, createElectronStorage } from '@kavachos/electron';
const storage = createElectronStorage({ encryptionKey: process.env.STORAGE_KEY });
setupKavachIpc({ storage });// renderer.tsx
import { ElectronKavachProvider, useElectronKavachContext } from '@kavachos/electron';
function App() {
return (
<ElectronKavachProvider apiUrl="https://auth.yourapp.com" tenantId="your-tenant-id">
<MainWindow />
</ElectronKavachProvider>
);
}// OAuth login from renderer
import { openOAuthWindow } from '@kavachos/electron';
const result = await openOAuthWindow({ provider: 'google', redirectUri: 'kavach://oauth' });Exports
ElectronKavachProvider/ElectronKavachContext/useElectronKavachContext— renderer-side providercreateElectronStorage— encrypted keychain-backed storagecreateMemoryStorage— in-memory storage for testingsetupKavachIpc/createIpcStorage/KAVACH_IPC_CHANNELS— main-process IPC setupopenOAuthWindow— opens a managed OAuth popup window
Docs
License
MIT
