Package Exports
- uuid-apikey
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (uuid-apikey) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
uuid-apikey
"API Keys for people"
A generator, validator, and converter that transforms UUIDs into human-readable Base32-Crockford encoded API Keys.
- API Keys are 31 characters in length consisting of 4 groups of 7 characters separated by dashes (e.g. XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX)
- They avoids the problem that Base64 encoded values can create
- Fully upper-case, but treat lower-case for their equivalents (e.g. a = A)
- No tricky characters, but treat them equivalently (i.e. 0 = O / 1 = L = I )
- No characters that inadvertently lead to common profanities (i.e. letter U is omitted)
A common use for this library is to allow UUIDs to be stored in a host DB, but to display a human-readable API Key to a user.
Installation
You can install uuid-apikey with NPM.
npm install uuid-apikeyUsage
const uuidAPIKey = require('uuid-apikey');
console.log(uuidAPIKey.create());Output:
{ uuid: '0b9ca335-92a8-46d8-b477-eb2ed83ac927',
apiKey: '1EEA6DC-JAM4DP2-PHVYPBN-V0XCJ9X' }Reference
.isUUID(uuid)
Tests if the UUID string passed is a valid UUID.
uuidAPIKey.isUUID('0b9ca335-92a8-46d8-b477-eb2ed83ac927');
uuidAPIKey.isUUID('NodeJS');Output:
true
false.isAPIKey(apiKey)
Tests if the API Key string passed is a valid API Key.
uuidAPIKey.isAPIKey('1EEA6DC-JAM4DP2-PHVYPBN-V0XCJ9X');
uuidAPIKey.isAPIKey('NodeJS');Output:
true
false.toAPIKey(uuid, [options])
Converts a valid UUID into an API Key. Throws a TypeError if the UUID is invalid.
uuidAPIKey.toAPIKey('0b9ca335-92a8-46d8-b477-eb2ed83ac927');
uuidAPIKey.toAPIKey('0b9ca335-92a8-46d8-b477-eb2ed83ac927', { 'noDashes': true });Output:
'1EEA6DC-JAM4DP2-PHVYPBN-V0XCJ9X'
'1EEA6DCJAM4DP2PHVYPBNV0XCJ9X'Options
| Option | Type | Desc |
|---|---|---|
| noDashes | boolean | Generates an APIKey without dashes |
.toUUID(apiKey)
Converts a valid API Key into an UUID. Throws a TypeError if the API Key is invalid.
uuidAPIKey.toUUID('1EEA6DC-JAM4DP2-PHVYPBN-V0XCJ9X');Output:
'0b9ca335-92a8-46d8-b477-eb2ed83ac927'.check(apiKey, uuid)
Test that an API Key and a UUID are identical. Throws a TypeError if either the API Key or the UUID is invalid.
uuidAPIKey.check('1EEA6DC-JAM4DP2-PHVYPBN-V0XCJ9X', '0b9ca335-92a8-46d8-b477-eb2ed83ac927');Output:
true.create([options])
Returns a new UUID and API Key pair
uuidAPIKey.create();Output:
{ uuid: '0b9ca335-92a8-46d8-b477-eb2ed83ac927',
apiKey: '1EEA6DC-JAM4DP2-PHVYPBN-V0XCJ9X' }Options
| Option | Type | Desc |
|---|---|---|
| noDashes | boolean | Generates an APIKey without dashes |
License
MIT