Identif
A Helper to verify one's identity via personal channels
Identif is an abstract helper class to easily implement the identity verification logic via personal channels like SMS, Phone, E-Mail, and more.
- It was written for use on CARPLAT which is the platform service for the car rental.
Installation
$ npm install --save identif
$ yarn add identif
Dependencies
- Redis: if you use
RedisStore
, the connection to redis server is required.
Usage
const { Identif, RedisStore } = require('identif');
// Create an instance of Identif with RedisStore
const identif = new Identif({
store: new RedisStore({
redis: { host: 'my.redis.com', port: 6379 },
ttl: 3 * 60
})
});
// Request the verification
const { requestId, code, createdAt } = await identif.request();
/*
Output
{
requestId: 'e89c3600-6ac7-469e-8d7e-e6e7847b346d',
code: '1274',
createdAt: '2017-04-23T14:47:24.173Z'
}
*/
// Respond to the client including `requestId`, `createdAt`
// Send `code` via a personal secure channel like SMS, E-Mail
// Verify the request
const data = await identif.verify(requestId, code);
if (!data) {
// Failed to verify one's identity
} else {
// Verifed one's identity
}
API
Identif([options])
Methods
request([extra])
verify(requestId, code)
MemoryStore()
Methods
RedisStore([options])
Methods
Contributing
This project follows the Contributor Covenant Code of Conduct.
Bug Reports & Feature Requests
Please use the issue tracker to report any bugs or ask feature requests.
Contact
If you have any questions, feel free to join me at #posquit0
on Freenode and ask away. Click here to connect.
License
MIT © Byungjin Park