deepvue-digilocker-react-sdk
Version:
A SDK powered by Deepvue for DigiLocker authentication flows
75 lines (57 loc) • 2.36 kB
Markdown
This SDK provides seamless integration for DigiLocker verification in your React application.
- DigiLocker eKYC flow
- Secure session management
- Modern, user-friendly UI
```bash
npm install deepvue-digilocker-react-sdk
```
To start the DigiLocker flow, import `FlowSelector` and `DigiLockerFlow` from the SDK. Use state to switch between the selector and the result UI. The SDK will handle the DigiLocker process and redirect the user to your provided `redirectUrl` after authentication:
```tsx
import { useState } from "react";
import { FlowSelector, DigiLockerFlow } from "deepvue-digilocker-react-sdk";
function App() {
const [showDigiLocker, setShowDigiLocker] = useState(false);
const apiKey = "";
const clientId = "";
const redirectUrl = "https://your_company.com";
return (
<>
{!showDigiLocker ? (
<FlowSelector
apiKey={apiKey}
clientId={clientId}
singleFlow="digilocker"
showFlowSelector={true}
onSelectDigiLocker={() => setShowDigiLocker(true)}
/>
) : (
<DigiLockerFlow
apiKey={apiKey}
clientId={clientId}
redirectUrl={redirectUrl}
/>
)}
</>
);
}
export default App;
```
- The `redirectUrl` prop should point to a page in your app (e.g., `/callback.html`) that can handle the DigiLocker callback.
- The SDK provides a sample `callback.html` that reads the DigiLocker response and stores it in `sessionStorage` for your app to complete the flow.
- After successful authentication, the user will be redirected to your `redirectUrl`.
## Components
- `FlowSelector`: Lets users start the DigiLocker flow. All logic and UI for DigiLocker eKYC is handled internally by the SDK.
- `DigiLockerFlow`: Renders the verification result UI after DigiLocker authentication.
- **Props:**
- `apiKey` (string, required): Your API key
- `clientId` (string, required): Your client ID
- `redirectUrl` (string, required): The URL to redirect to after DigiLocker authentication (should point to your callback handler)
- `singleFlow` ("digilocker", required): Only DigiLocker is supported
- `showFlowSelector` (boolean, optional): Show the selector UI (default: true)
## License
MIT