jwt-auths 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +22 -3
- package/dist/index.d.ts +22 -3
- package/dist/index.js +61 -10
- package/dist/index.mjs +45 -9
- package/package.json +1 -1
- package/src/cors/createToken.ts +18 -6
- package/src/cors/decodeToken.ts +5 -0
- package/src/cors/refreshToken.ts +18 -6
- package/src/cors/verifyToken.ts +26 -0
- package/src/index.ts +3 -1
package/dist/index.d.mts
CHANGED
@@ -1,5 +1,24 @@
|
|
1
|
-
|
1
|
+
import { JwtPayload } from 'jsonwebtoken';
|
2
2
|
|
3
|
-
|
3
|
+
type Payload$1 = string | object | Buffer;
|
4
|
+
interface TokenOptions$1 {
|
5
|
+
expiresIn?: string | number;
|
6
|
+
algorithm?: Algorithm | string;
|
7
|
+
}
|
8
|
+
declare const createAccessToken: (secret: string, payload: Payload$1, options?: TokenOptions$1) => string;
|
4
9
|
|
5
|
-
|
10
|
+
type Payload = string | object | Buffer;
|
11
|
+
interface TokenOptions {
|
12
|
+
expiresIn?: string | number;
|
13
|
+
algorithm?: Algorithm | string;
|
14
|
+
}
|
15
|
+
declare const createRefreshToken: (secret: string, payload: Payload, options?: TokenOptions) => string;
|
16
|
+
|
17
|
+
declare const verifyAccessToken: (token: string, secret: string) => JwtPayload | string;
|
18
|
+
declare const verifyRefreshToken: (token: string, secret: string) => JwtPayload | string;
|
19
|
+
declare const isTokenExpired: (token: string) => boolean;
|
20
|
+
declare const isValidJwtFormat: (token: string) => boolean;
|
21
|
+
|
22
|
+
declare const decodeToken: (token: string) => null | JwtPayload | string;
|
23
|
+
|
24
|
+
export { createAccessToken, createRefreshToken, decodeToken, isTokenExpired, isValidJwtFormat, verifyAccessToken, verifyRefreshToken };
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,24 @@
|
|
1
|
-
|
1
|
+
import { JwtPayload } from 'jsonwebtoken';
|
2
2
|
|
3
|
-
|
3
|
+
type Payload$1 = string | object | Buffer;
|
4
|
+
interface TokenOptions$1 {
|
5
|
+
expiresIn?: string | number;
|
6
|
+
algorithm?: Algorithm | string;
|
7
|
+
}
|
8
|
+
declare const createAccessToken: (secret: string, payload: Payload$1, options?: TokenOptions$1) => string;
|
4
9
|
|
5
|
-
|
10
|
+
type Payload = string | object | Buffer;
|
11
|
+
interface TokenOptions {
|
12
|
+
expiresIn?: string | number;
|
13
|
+
algorithm?: Algorithm | string;
|
14
|
+
}
|
15
|
+
declare const createRefreshToken: (secret: string, payload: Payload, options?: TokenOptions) => string;
|
16
|
+
|
17
|
+
declare const verifyAccessToken: (token: string, secret: string) => JwtPayload | string;
|
18
|
+
declare const verifyRefreshToken: (token: string, secret: string) => JwtPayload | string;
|
19
|
+
declare const isTokenExpired: (token: string) => boolean;
|
20
|
+
declare const isValidJwtFormat: (token: string) => boolean;
|
21
|
+
|
22
|
+
declare const decodeToken: (token: string) => null | JwtPayload | string;
|
23
|
+
|
24
|
+
export { createAccessToken, createRefreshToken, decodeToken, isTokenExpired, isValidJwtFormat, verifyAccessToken, verifyRefreshToken };
|
package/dist/index.js
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __create = Object.create;
|
2
3
|
var __defProp = Object.defineProperty;
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
8
|
var __export = (target, all) => {
|
7
9
|
for (var name in all)
|
@@ -15,35 +17,84 @@ var __copyProps = (to, from, except, desc) => {
|
|
15
17
|
}
|
16
18
|
return to;
|
17
19
|
};
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
26
|
+
mod
|
27
|
+
));
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
29
|
|
20
30
|
// src/index.ts
|
21
31
|
var index_exports = {};
|
22
32
|
__export(index_exports, {
|
23
33
|
createAccessToken: () => createAccessToken,
|
24
|
-
createRefreshToken: () => createRefreshToken
|
34
|
+
createRefreshToken: () => createRefreshToken,
|
35
|
+
decodeToken: () => decodeToken,
|
36
|
+
isTokenExpired: () => isTokenExpired,
|
37
|
+
isValidJwtFormat: () => isValidJwtFormat,
|
38
|
+
verifyAccessToken: () => verifyAccessToken,
|
39
|
+
verifyRefreshToken: () => verifyRefreshToken
|
25
40
|
});
|
26
41
|
module.exports = __toCommonJS(index_exports);
|
27
42
|
|
28
43
|
// src/cors/createToken.ts
|
29
44
|
var jwt = require("jsonwebtoken");
|
30
|
-
var
|
31
|
-
|
32
|
-
|
33
|
-
|
45
|
+
var defaultAccessTokenOptions = {
|
46
|
+
expiresIn: "15m",
|
47
|
+
algorithm: "HS256"
|
48
|
+
};
|
49
|
+
var createAccessToken = (secret, payload, options = defaultAccessTokenOptions) => {
|
50
|
+
return jwt.sign(payload, secret, {
|
51
|
+
algorithm: options.algorithm,
|
52
|
+
expiresIn: options.expiresIn
|
34
53
|
});
|
35
54
|
};
|
36
55
|
|
37
56
|
// src/cors/refreshToken.ts
|
38
57
|
var jwt2 = require("jsonwebtoken");
|
39
|
-
var
|
40
|
-
|
41
|
-
|
42
|
-
|
58
|
+
var defaultRefreshTokenOptions = {
|
59
|
+
expiresIn: "7d",
|
60
|
+
algorithm: "HS256"
|
61
|
+
};
|
62
|
+
var createRefreshToken = (secret, payload, options = defaultRefreshTokenOptions) => {
|
63
|
+
return jwt2.sign(payload, secret, {
|
64
|
+
algorithm: options.algorithm,
|
65
|
+
expiresIn: options.expiresIn
|
43
66
|
});
|
44
67
|
};
|
68
|
+
|
69
|
+
// src/cors/verifyToken.ts
|
70
|
+
var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
|
71
|
+
var verifyAccessToken = (token, secret) => {
|
72
|
+
return import_jsonwebtoken.default.verify(token, secret);
|
73
|
+
};
|
74
|
+
var verifyRefreshToken = (token, secret) => {
|
75
|
+
return import_jsonwebtoken.default.verify(token, secret);
|
76
|
+
};
|
77
|
+
var isTokenExpired = (token) => {
|
78
|
+
const decoded = import_jsonwebtoken.default.decode(token);
|
79
|
+
if (!decoded?.exp) return true;
|
80
|
+
return decoded.exp * 1e3 < Date.now();
|
81
|
+
};
|
82
|
+
var isValidJwtFormat = (token) => {
|
83
|
+
return /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$/.test(token);
|
84
|
+
};
|
85
|
+
|
86
|
+
// src/cors/decodeToken.ts
|
87
|
+
var import_jsonwebtoken2 = __toESM(require("jsonwebtoken"));
|
88
|
+
var decodeToken = (token) => {
|
89
|
+
return import_jsonwebtoken2.default.decode(token);
|
90
|
+
};
|
45
91
|
// Annotate the CommonJS export names for ESM import in node:
|
46
92
|
0 && (module.exports = {
|
47
93
|
createAccessToken,
|
48
|
-
createRefreshToken
|
94
|
+
createRefreshToken,
|
95
|
+
decodeToken,
|
96
|
+
isTokenExpired,
|
97
|
+
isValidJwtFormat,
|
98
|
+
verifyAccessToken,
|
99
|
+
verifyRefreshToken
|
49
100
|
});
|
package/dist/index.mjs
CHANGED
@@ -7,22 +7,58 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
7
7
|
|
8
8
|
// src/cors/createToken.ts
|
9
9
|
var jwt = __require("jsonwebtoken");
|
10
|
-
var
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
var defaultAccessTokenOptions = {
|
11
|
+
expiresIn: "15m",
|
12
|
+
algorithm: "HS256"
|
13
|
+
};
|
14
|
+
var createAccessToken = (secret, payload, options = defaultAccessTokenOptions) => {
|
15
|
+
return jwt.sign(payload, secret, {
|
16
|
+
algorithm: options.algorithm,
|
17
|
+
expiresIn: options.expiresIn
|
14
18
|
});
|
15
19
|
};
|
16
20
|
|
17
21
|
// src/cors/refreshToken.ts
|
18
22
|
var jwt2 = __require("jsonwebtoken");
|
19
|
-
var
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
+
var defaultRefreshTokenOptions = {
|
24
|
+
expiresIn: "7d",
|
25
|
+
algorithm: "HS256"
|
26
|
+
};
|
27
|
+
var createRefreshToken = (secret, payload, options = defaultRefreshTokenOptions) => {
|
28
|
+
return jwt2.sign(payload, secret, {
|
29
|
+
algorithm: options.algorithm,
|
30
|
+
expiresIn: options.expiresIn
|
23
31
|
});
|
24
32
|
};
|
33
|
+
|
34
|
+
// src/cors/verifyToken.ts
|
35
|
+
import jwt3 from "jsonwebtoken";
|
36
|
+
var verifyAccessToken = (token, secret) => {
|
37
|
+
return jwt3.verify(token, secret);
|
38
|
+
};
|
39
|
+
var verifyRefreshToken = (token, secret) => {
|
40
|
+
return jwt3.verify(token, secret);
|
41
|
+
};
|
42
|
+
var isTokenExpired = (token) => {
|
43
|
+
const decoded = jwt3.decode(token);
|
44
|
+
if (!decoded?.exp) return true;
|
45
|
+
return decoded.exp * 1e3 < Date.now();
|
46
|
+
};
|
47
|
+
var isValidJwtFormat = (token) => {
|
48
|
+
return /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$/.test(token);
|
49
|
+
};
|
50
|
+
|
51
|
+
// src/cors/decodeToken.ts
|
52
|
+
import jwt4 from "jsonwebtoken";
|
53
|
+
var decodeToken = (token) => {
|
54
|
+
return jwt4.decode(token);
|
55
|
+
};
|
25
56
|
export {
|
26
57
|
createAccessToken,
|
27
|
-
createRefreshToken
|
58
|
+
createRefreshToken,
|
59
|
+
decodeToken,
|
60
|
+
isTokenExpired,
|
61
|
+
isValidJwtFormat,
|
62
|
+
verifyAccessToken,
|
63
|
+
verifyRefreshToken
|
28
64
|
};
|
package/package.json
CHANGED
package/src/cors/createToken.ts
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
const jwt = require('jsonwebtoken');
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
}
|
3
|
+
type Payload = string | object | Buffer;
|
4
|
+
|
5
|
+
interface TokenOptions {
|
6
|
+
expiresIn?: string | number;
|
7
|
+
algorithm?: Algorithm | string;
|
8
|
+
}
|
9
|
+
|
10
|
+
const defaultAccessTokenOptions: TokenOptions = {
|
11
|
+
expiresIn: '15m',
|
12
|
+
algorithm: 'HS256',
|
13
|
+
};
|
14
|
+
|
15
|
+
export const createAccessToken = (secret: string, payload: Payload, options: TokenOptions = defaultAccessTokenOptions): string => {
|
16
|
+
return jwt.sign(payload, secret, {
|
17
|
+
algorithm: options.algorithm,
|
18
|
+
expiresIn: options.expiresIn,
|
19
|
+
});
|
20
|
+
};
|
package/src/cors/decodeToken.ts
CHANGED
package/src/cors/refreshToken.ts
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
const jwt = require('jsonwebtoken');
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
}
|
3
|
+
type Payload = string | object | Buffer;
|
4
|
+
|
5
|
+
interface TokenOptions {
|
6
|
+
expiresIn?: string | number;
|
7
|
+
algorithm?: Algorithm | string;
|
8
|
+
}
|
9
|
+
|
10
|
+
const defaultRefreshTokenOptions: TokenOptions = {
|
11
|
+
expiresIn: '7d',
|
12
|
+
algorithm: 'HS256',
|
13
|
+
};
|
14
|
+
|
15
|
+
export const createRefreshToken = (secret: string, payload: Payload,options: TokenOptions = defaultRefreshTokenOptions): string => {
|
16
|
+
return jwt.sign(payload, secret, {
|
17
|
+
algorithm: options.algorithm,
|
18
|
+
expiresIn: options.expiresIn,
|
19
|
+
});
|
20
|
+
};
|
package/src/cors/verifyToken.ts
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
import jwt, { JwtPayload } from 'jsonwebtoken';
|
2
|
+
|
3
|
+
export const verifyAccessToken = (
|
4
|
+
token: string,
|
5
|
+
secret: string
|
6
|
+
): JwtPayload | string => {
|
7
|
+
return jwt.verify(token, secret);
|
8
|
+
};
|
9
|
+
|
10
|
+
export const verifyRefreshToken = (
|
11
|
+
token: string,
|
12
|
+
secret: string
|
13
|
+
): JwtPayload | string => {
|
14
|
+
return jwt.verify(token, secret);
|
15
|
+
};
|
16
|
+
|
17
|
+
export const isTokenExpired = (token: string): boolean => {
|
18
|
+
const decoded = jwt.decode(token) as JwtPayload | null;
|
19
|
+
if (!decoded?.exp) return true;
|
20
|
+
return decoded.exp * 1000 < Date.now();
|
21
|
+
};
|
22
|
+
|
23
|
+
export const isValidJwtFormat = (token: string): boolean => {
|
24
|
+
return /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$/.test(token);
|
25
|
+
};
|
26
|
+
|
package/src/index.ts
CHANGED