react-dojah
v1.1.0
Published
This is a react.js library for implementing the dojah connect gateway.
Downloads
590
Maintainers
Readme
react-dojah
https://github.com/cjayprime/react-dojah
Install
npm install react-dojah --save
or with yarn
yarn add react-dojah
Usage
import React from 'react'
import Dojah from 'react-dojah'
const App = () => {
/**
* This is your app ID
* (go to your dashboard at
* https://dojah.io/dashboard
* to create an app and retrieve it)
*/
const appID = "5f772c87d30341003e0c8523";
/**
* This is your account public key
* (go to your dashboard at
* https://dojah.io/dashboard to
* retrieve it. You can also regenerate one)
*/
const publicKey = "test_pk_OvAQ5aAhwATSKPzOX5vB1Fbv8";
/**
* This is the widget type you'd like to load
* (go to your dashboard at
* https://dojah.io/dashboard to enable different
* widget types)
*/
const type = "link";
/**
* These are the configuration options
* available to you are:
* {debug: BOOL, pages: ARRAY[page: STRING, config: OBJECT]}
*
* The config object is as defined below
*
* NOTE: The otp and selfie options are only
* available to the `verification` widget
*/
const config = {
debug: true,
pages: [
{
page: 'government-data',
config: {
bvn: true,
nin: false,
dl: false,
mobile: false,
otp: false,
selfie: false,
},
},
{page: 'selfie'},
{page: 'id', config: {passport: false, dl: true}},
],
};
/**
* These are the user's data to verify, options
* available to you possible options are:
* {first_name: STRING, last_name: STRING, dob: DATE STRING}
*
* NOTE: Passing all the values will automatically skip
* the user-data page (thus the commented out `last_name`)
*/
const userData = {
first_name: 'Chijioke',
last_name: '', // 'Nna'
dob: '2022-05-01',
};
/**
* These are the metadata options
* You can pass any values within the object
*/
const metadata = {
user_id: '121',
};
/**
* @param {String} type
* This method receives the type
* The type can only be one of:
* loading, begin, success, error, close
* @param {String} data
* This is the data from doja
*/
const response = (type, data) => {
console.log(type, data);
if(type === 'success'){
}else if(type === 'error'){
}else if(type === 'close'){
}else if(type === 'begin'){
}else if(type === 'loading'){
}
}
// The Doja library accepts 3 props and
// initiliazes the doja widget and connect process
return (
<Dojah
response={response}
appID={appID}
publicKey={publicKey}
type={type}
config={config}
userData={userData}
metadata={metadata}
/>
);
}
export default App
See the examples
folder for an implementation
Deployment
REMEMBER TO CHANGE THE APP ID and PUBLIC KEY WHEN DEPLOYING TO A LIVE (PRODUCTION) ENVIRONMENT
Contributing
- Fork it!
- Create your feature branch:
git checkout -b feature/feature-name
- Commit your changes:
git commit -am 'Some commit message'
- Push to the branch:
git push origin feature/feature-name
- Submit a pull request 😉😉
License
This project is licensed under the MIT License - see the LICENSE file for details