Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

🔑 Helper class to verify one's identity via personal channels(SMS, Phone, E-Mail and more!)

License

Notifications You must be signed in to change notification settings

posquit0/node-identif

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Identif.js

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

Greenkeeper badge

# NPM
$ npm install --save identif
# Yarn
$ 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

  • get(key)
  • set(key, data)

RedisStore([options])

Methods

  • get(key)
  • set(key, data)

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.

Self Promotion

Like node-identif? Follow the repository on GitHub. And if you're feeling especially charitable, follow posquit0 on GitHub.

Contact

If you have any questions, feel free to join me at #posquit0 on Freenode and ask away. Click here to connect.

License

Provided under the terms of the MIT License.

Copyright © 2017-2018, Byungjin Park.

About

🔑 Helper class to verify one's identity via personal channels(SMS, Phone, E-Mail and more!)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
Morty Proxy This is a proxified and sanitized view of the page, visit original site.