Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| af3ea4cf8d |
89
README.md
89
README.md
@@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
A lightweight JWT implementation with ZERO dependencies for Cloudflare Workers.
|
A lightweight JWT implementation with ZERO dependencies for Cloudflare Workers.
|
||||||
|
|
||||||
|
|
||||||
## Contents
|
## Contents
|
||||||
|
|
||||||
- [Install](#install)
|
- [Install](#install)
|
||||||
- [Usage](#usage)
|
|
||||||
- [Examples](#examples)
|
- [Examples](#examples)
|
||||||
|
- [Usage](#usage)
|
||||||
|
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
@@ -14,6 +16,48 @@ A lightweight JWT implementation with ZERO dependencies for Cloudflare Workers.
|
|||||||
npm i @tsndr/cloudflare-worker-jwt
|
npm i @tsndr/cloudflare-worker-jwt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
### Basic Example
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
async () => {
|
||||||
|
const jwt = require('@tsndr/cloudflare-worker-jwt')
|
||||||
|
|
||||||
|
// Creating a token
|
||||||
|
const token = await jwt.sign({ name: 'John Doe', email: 'john.doe@gmail.com' }, 'secret')
|
||||||
|
|
||||||
|
// Verifing token
|
||||||
|
const isValid = await jwt.verify(token, 'secret')
|
||||||
|
|
||||||
|
// Decoding token
|
||||||
|
const payload = jwt.decode(token)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Restrict Timeframe
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
async () => {
|
||||||
|
const jwt = require('@tsndr/cloudflare-worker-jwt')
|
||||||
|
|
||||||
|
// Creating a token
|
||||||
|
const token = await jwt.sign({
|
||||||
|
name: 'John Doe',
|
||||||
|
email: 'john.doe@gmail.com',
|
||||||
|
nbf: Math.floor(Date.now() / 1000) + (60 * 60), // Not before: Now + 1h
|
||||||
|
exp: Math.floor(Date.now() / 1000) + (2 * (60 * 60)) // Expires: Now + 2h
|
||||||
|
}, 'secret')
|
||||||
|
|
||||||
|
// Verifing token
|
||||||
|
const isValid = await jwt.verify(token, 'secret') // false
|
||||||
|
|
||||||
|
// Decoding token
|
||||||
|
const payload = jwt.decode(token) // { name: 'John Doe', email: 'john.doe@gmail.com', ... }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
@@ -59,45 +103,4 @@ Argument | Type | Satus | Default | Description
|
|||||||
`token` | `string` | required | - | The token string generated by `jwt.sign()`.
|
`token` | `string` | required | - | The token string generated by `jwt.sign()`.
|
||||||
|
|
||||||
#### `return`
|
#### `return`
|
||||||
Returns payload `object`.
|
Returns payload `object`.
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
### Basic Example
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
async () => {
|
|
||||||
const jwt = require('@tsndr/cloudflare-worker-jwt')
|
|
||||||
|
|
||||||
// Creating a token
|
|
||||||
const token = await jwt.sign({ name: 'John Doe', email: 'john.doe@gmail.com' }, 'secret')
|
|
||||||
|
|
||||||
// Verifing token
|
|
||||||
const isValid = await jwt.verify(token, 'secret')
|
|
||||||
|
|
||||||
// Decoding token
|
|
||||||
const payload = jwt.decode(token)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Restrict Timeframe
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
async () => {
|
|
||||||
const jwt = require('@tsndr/cloudflare-worker-jwt')
|
|
||||||
|
|
||||||
// Creating a token
|
|
||||||
const token = await jwt.sign({
|
|
||||||
name: 'John Doe',
|
|
||||||
email: 'john.doe@gmail.com',
|
|
||||||
nbf: Math.floor(Date.now() / 1000) + (60 * 60), // Not before: Now + 1h
|
|
||||||
exp: Math.floor(Date.now() / 1000) + (2 * (60 * 60)) // Expires: Now + 2h
|
|
||||||
}, 'secret')
|
|
||||||
|
|
||||||
// Verifing token
|
|
||||||
const isValid = await jwt.verify(token, 'secret') // false
|
|
||||||
|
|
||||||
// Decoding token
|
|
||||||
const payload = jwt.decode(token) // { name: 'John Doe', email: 'john.doe@gmail.com', ... }
|
|
||||||
}
|
|
||||||
```
|
|
||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@tsndr/cloudflare-worker-jwt",
|
"name": "@tsndr/cloudflare-worker-jwt",
|
||||||
"version": "1.0.7",
|
"version": "1.1.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@tsndr/cloudflare-worker-jwt",
|
"name": "@tsndr/cloudflare-worker-jwt",
|
||||||
"version": "1.0.7",
|
"version": "1.1.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"tslint": "^6.1.3"
|
"tslint": "^6.1.3"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@tsndr/cloudflare-worker-jwt",
|
"name": "@tsndr/cloudflare-worker-jwt",
|
||||||
"version": "1.1.1",
|
"version": "1.1.2",
|
||||||
"description": "A lightweight JWT implementation with ZERO dependencies for Cloudflare Worker",
|
"description": "A lightweight JWT implementation with ZERO dependencies for Cloudflare Worker",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user