mirror of
https://github.com/alexanderschau/uniquebrowserid.git
synced 2024-12-04 19:32:02 +01:00
src | ||
.eslintrc | ||
.gitignore | ||
.gitpod.yml | ||
.prettierrc | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
Unique Browser ID
This package creates a unique ID for every browser, which you can use to bind JWTs to a clients browser. This helps to prevent token thiefs 🔒.
Note
: This project is still under developement. Many features are following in future.
Installation and Usage
You can install this package using npm:
npm install uniquebrowserid
Example usage:
import UID from 'uniquebrowserid';
const myid = new UID().completeID();
Usage with JSON Web Tokens
Client side:
import UID from 'uniquebrowserid';
const oneTimeID = new UID().generateOneTimeID("randomStringKey");
This will generate a TOTP key, which will be hashed with the unique ID of the browser. The generated ID will be valid for 30 seconds.
Server side:
import UID from 'uniquebrowserid';
if ( new UID().checkOneTimeID("OneTimeID", "original ID", "randomStringKey") ){
//one time ID is valid
};
This will check the send ID and returns a boolean value.
Contribute
Everyone is invited to participate in this project. Feel free to create Issues and Pull Requests 😀. A detailed contribution guide will follow in the future.
If you want to get the latest information on this project follow me on dev.to.