@glinr/theauth-electron
v0.1.0
Published
TheAuth auth client for Electron desktop apps
Readme
@glinr/theauth-electron
Electron integration for TheAuth: secure storage, OAuth windows, and IPC bridge.
Install
npm install @glinr/@glinr/theauth-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 '@glinr/theauth-electron';
const storage = createElectronStorage({ encryptionKey: process.env.STORAGE_KEY });
setupKavachIpc({ storage });// renderer.tsx
import { ElectronKavachProvider, useElectronKavachContext } from '@glinr/theauth-electron';
function App() {
return (
<ElectronKavachProvider apiUrl="https://auth.yourapp.com" tenantId="your-tenant-id">
<MainWindow />
</ElectronKavachProvider>
);
}// OAuth login from renderer
import { openOAuthWindow } from '@glinr/theauth-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
