@pristine-ts/auth0 0.0.211 → 0.0.212

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.
@@ -24,6 +24,10 @@ __exportStar(require("./auth0.module.keyname"), exports);
24
24
  exports.Auth0Module = {
25
25
  keyname: auth0_module_keyname_1.Auth0ModuleKeyname,
26
26
  configurationDefinitions: [
27
+ /**
28
+ * The auth0 issuer domain (without the http://),
29
+ * used to retrieve the public key and validate the JWTs.
30
+ */
27
31
  {
28
32
  parameterName: auth0_module_keyname_1.Auth0ModuleKeyname + ".issuer.domain",
29
33
  isRequired: true,
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.module.js","sourceRoot":"","sources":["../../../src/auth0.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,iEAA0D;AAC1D,4CAA6C;AAC7C,8DAAuE;AAEvE,kEAAgD;AAChD,0DAAwC;AAExC,yDAAuC;AAE1B,QAAA,WAAW,GAAoB;IACxC,OAAO,EAAE,yCAAkB;IAC3B,wBAAwB,EAAE;QACtB;YACI,aAAa,EAAE,yCAAkB,GAAG,gBAAgB;YACpD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBACd,IAAI,2CAA2B,CAAC,8BAA8B,CAAC;aAClE;SACJ;KACJ;IACD,aAAa,EAAE,CAAC,iBAAU,CAAC;CAC9B,CAAA"}
1
+ {"version":3,"file":"auth0.module.js","sourceRoot":"","sources":["../../../src/auth0.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,iEAA0D;AAC1D,4CAA6C;AAC7C,8DAAuE;AAEvE,kEAAgD;AAChD,0DAAwC;AAExC,yDAAuC;AAE1B,QAAA,WAAW,GAAoB;IACxC,OAAO,EAAE,yCAAkB;IAC3B,wBAAwB,EAAE;QACtB;;;WAGG;QACH;YACI,aAAa,EAAE,yCAAkB,GAAG,gBAAgB;YACpD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBACd,IAAI,2CAA2B,CAAC,8BAA8B,CAAC;aAClE;SACJ;KACJ;IACD,aAAa,EAAE,CAAC,iBAAU,CAAC;CAC9B,CAAA"}
@@ -54,10 +54,16 @@ const common_1 = require("@pristine-ts/common");
54
54
  const http_1 = require("@pristine-ts/http");
55
55
  const jwk_to_pem_1 = __importDefault(require("jwk-to-pem"));
56
56
  const auth0_module_keyname_1 = require("../auth0.module.keyname");
57
+ /**
58
+ * The Auth0Authenticator is an authenticator that can be passed to the @authenticator decorator on a
59
+ * controller class to authenticate the incoming requests using Auth0.
60
+ *
61
+ * It is singleton so that the PEMs can be cached.
62
+ */
57
63
  let Auth0Authenticator = class Auth0Authenticator {
58
64
  /**
59
65
  * The Auth0 authenticator that can be passed to the @authenticator decorator.
60
- * @param issuerDomain The Auth0 issuer domain.
66
+ * @param issuerDomain The Auth0 issuer domain (without the http://).
61
67
  * @param httpClient The Http client to use to make the requests to the issuer.
62
68
  * @param logHandler The log handler to print some logs.
63
69
  */
@@ -70,7 +76,7 @@ let Auth0Authenticator = class Auth0Authenticator {
70
76
  }
71
77
  /**
72
78
  * Sets the context for the authenticator as it is passed in a decorator
73
- * @param context
79
+ * @param context The context for the decorator.
74
80
  */
75
81
  setContext(context) {
76
82
  this.context = context;
@@ -78,7 +84,7 @@ let Auth0Authenticator = class Auth0Authenticator {
78
84
  }
79
85
  /**
80
86
  * Gets the identity from the request
81
- * @param request
87
+ * @param request The request to authenticate.
82
88
  */
83
89
  authenticate(request) {
84
90
  var _a;
@@ -97,7 +103,7 @@ let Auth0Authenticator = class Auth0Authenticator {
97
103
  });
98
104
  }
99
105
  /**
100
- * Gets the issuer for Auth0
106
+ * Builds the complete url of the issuer for Auth0.
101
107
  * @private
102
108
  */
103
109
  getAuth0Issuer() {
@@ -133,7 +139,7 @@ let Auth0Authenticator = class Auth0Authenticator {
133
139
  }
134
140
  /**
135
141
  * Validates the request and returns the token
136
- * @param request
142
+ * @param request The request to validate.
137
143
  * @private
138
144
  */
139
145
  // todo: this is a copy from jwt manager should we put that somewhere common ?
@@ -156,8 +162,8 @@ let Auth0Authenticator = class Auth0Authenticator {
156
162
  }
157
163
  /**
158
164
  * Verifies the token and returns the claims.
159
- * @param token
160
- * @param key
165
+ * @param token The string token.
166
+ * @param key The key to verify the token.
161
167
  * @private
162
168
  */
163
169
  getAndVerifyClaims(token, key) {
@@ -196,8 +202,8 @@ let Auth0Authenticator = class Auth0Authenticator {
196
202
  }
197
203
  /**
198
204
  * Gets the key based on the kid of the token
199
- * @param token
200
- * @param pems
205
+ * @param token The string token.
206
+ * @param pems The pems.
201
207
  * @private
202
208
  */
203
209
  getKeyFromToken(token, pems) {
@@ -209,8 +215,8 @@ let Auth0Authenticator = class Auth0Authenticator {
209
215
  return key;
210
216
  }
211
217
  /**
212
- * Gets the token header
213
- * @param token
218
+ * Gets the token header from the string token.
219
+ * @param token The string token.
214
220
  * @private
215
221
  */
216
222
  getTokenHeader(token) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.authenticator.js","sourceRoot":"","sources":["../../../../src/authenticators/auth0.authenticator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth0.authenticator.js","sourceRoot":"","sources":["../../../../src/authenticators/auth0.authenticator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export * from "./auth0.module.keyname";
7
7
  export const Auth0Module = {
8
8
  keyname: Auth0ModuleKeyname,
9
9
  configurationDefinitions: [
10
+ /**
11
+ * The auth0 issuer domain (without the http://),
12
+ * used to retrieve the public key and validate the JWTs.
13
+ */
10
14
  {
11
15
  parameterName: Auth0ModuleKeyname + ".issuer.domain",
12
16
  isRequired: true,
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.module.js","sourceRoot":"","sources":["../../../src/auth0.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAEvE,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AAExC,cAAc,wBAAwB,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAoB;IACxC,OAAO,EAAE,kBAAkB;IAC3B,wBAAwB,EAAE;QACtB;YACI,aAAa,EAAE,kBAAkB,GAAG,gBAAgB;YACpD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBACd,IAAI,2BAA2B,CAAC,8BAA8B,CAAC;aAClE;SACJ;KACJ;IACD,aAAa,EAAE,CAAC,UAAU,CAAC;CAC9B,CAAA"}
1
+ {"version":3,"file":"auth0.module.js","sourceRoot":"","sources":["../../../src/auth0.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAEvE,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AAExC,cAAc,wBAAwB,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAoB;IACxC,OAAO,EAAE,kBAAkB;IAC3B,wBAAwB,EAAE;QACtB;;;WAGG;QACH;YACI,aAAa,EAAE,kBAAkB,GAAG,gBAAgB;YACpD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBACd,IAAI,2BAA2B,CAAC,8BAA8B,CAAC;aAClE;SACJ;KACJ;IACD,aAAa,EAAE,CAAC,UAAU,CAAC;CAC9B,CAAA"}
@@ -25,10 +25,16 @@ import { HttpMethod } from "@pristine-ts/common";
25
25
  import { ResponseTypeEnum } from "@pristine-ts/http";
26
26
  import jwkToBuffer from "jwk-to-pem";
27
27
  import { Auth0ModuleKeyname } from "../auth0.module.keyname";
28
+ /**
29
+ * The Auth0Authenticator is an authenticator that can be passed to the @authenticator decorator on a
30
+ * controller class to authenticate the incoming requests using Auth0.
31
+ *
32
+ * It is singleton so that the PEMs can be cached.
33
+ */
28
34
  let Auth0Authenticator = class Auth0Authenticator {
29
35
  /**
30
36
  * The Auth0 authenticator that can be passed to the @authenticator decorator.
31
- * @param issuerDomain The Auth0 issuer domain.
37
+ * @param issuerDomain The Auth0 issuer domain (without the http://).
32
38
  * @param httpClient The Http client to use to make the requests to the issuer.
33
39
  * @param logHandler The log handler to print some logs.
34
40
  */
@@ -41,7 +47,7 @@ let Auth0Authenticator = class Auth0Authenticator {
41
47
  }
42
48
  /**
43
49
  * Sets the context for the authenticator as it is passed in a decorator
44
- * @param context
50
+ * @param context The context for the decorator.
45
51
  */
46
52
  setContext(context) {
47
53
  this.context = context;
@@ -49,7 +55,7 @@ let Auth0Authenticator = class Auth0Authenticator {
49
55
  }
50
56
  /**
51
57
  * Gets the identity from the request
52
- * @param request
58
+ * @param request The request to authenticate.
53
59
  */
54
60
  authenticate(request) {
55
61
  var _a;
@@ -68,7 +74,7 @@ let Auth0Authenticator = class Auth0Authenticator {
68
74
  });
69
75
  }
70
76
  /**
71
- * Gets the issuer for Auth0
77
+ * Builds the complete url of the issuer for Auth0.
72
78
  * @private
73
79
  */
74
80
  getAuth0Issuer() {
@@ -104,7 +110,7 @@ let Auth0Authenticator = class Auth0Authenticator {
104
110
  }
105
111
  /**
106
112
  * Validates the request and returns the token
107
- * @param request
113
+ * @param request The request to validate.
108
114
  * @private
109
115
  */
110
116
  // todo: this is a copy from jwt manager should we put that somewhere common ?
@@ -127,8 +133,8 @@ let Auth0Authenticator = class Auth0Authenticator {
127
133
  }
128
134
  /**
129
135
  * Verifies the token and returns the claims.
130
- * @param token
131
- * @param key
136
+ * @param token The string token.
137
+ * @param key The key to verify the token.
132
138
  * @private
133
139
  */
134
140
  getAndVerifyClaims(token, key) {
@@ -167,8 +173,8 @@ let Auth0Authenticator = class Auth0Authenticator {
167
173
  }
168
174
  /**
169
175
  * Gets the key based on the kid of the token
170
- * @param token
171
- * @param pems
176
+ * @param token The string token.
177
+ * @param pems The pems.
172
178
  * @private
173
179
  */
174
180
  getKeyFromToken(token, pems) {
@@ -180,8 +186,8 @@ let Auth0Authenticator = class Auth0Authenticator {
180
186
  return key;
181
187
  }
182
188
  /**
183
- * Gets the token header
184
- * @param token
189
+ * Gets the token header from the string token.
190
+ * @param token The string token.
185
191
  * @private
186
192
  */
187
193
  getTokenHeader(token) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.authenticator.js","sourceRoot":"","sources":["../../../../src/authenticators/auth0.authenticator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth0.authenticator.js","sourceRoot":"","sources":["../../../../src/authenticators/auth0.authenticator.ts"],"names":[],"mappings":"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"}
@@ -3,33 +3,55 @@ import { AuthenticatorInterface } from "@pristine-ts/security";
3
3
  import { HttpClientInterface } from "@pristine-ts/http";
4
4
  import { LogHandlerInterface } from "@pristine-ts/logging";
5
5
  import { Request } from "@pristine-ts/common";
6
+ /**
7
+ * The Auth0Authenticator is an authenticator that can be passed to the @authenticator decorator on a
8
+ * controller class to authenticate the incoming requests using Auth0.
9
+ *
10
+ * It is singleton so that the PEMs can be cached.
11
+ */
6
12
  export declare class Auth0Authenticator implements AuthenticatorInterface {
7
13
  private readonly issuerDomain;
8
14
  private readonly httpClient;
9
15
  private readonly logHandler;
16
+ /**
17
+ * The cached PEMs to avoid fetching everytime.
18
+ * @private
19
+ */
10
20
  private cachedPems;
21
+ /**
22
+ * The complete url of the Auth0 issuer.
23
+ * @private
24
+ */
11
25
  private auth0Issuer;
26
+ /**
27
+ * The url where to get the public key.
28
+ * @private
29
+ */
12
30
  private publicKeyUrl;
31
+ /**
32
+ * The context passed by the decorator.
33
+ * @private
34
+ */
13
35
  private context;
14
36
  /**
15
37
  * The Auth0 authenticator that can be passed to the @authenticator decorator.
16
- * @param issuerDomain The Auth0 issuer domain.
38
+ * @param issuerDomain The Auth0 issuer domain (without the http://).
17
39
  * @param httpClient The Http client to use to make the requests to the issuer.
18
40
  * @param logHandler The log handler to print some logs.
19
41
  */
20
42
  constructor(issuerDomain: string, httpClient: HttpClientInterface, logHandler: LogHandlerInterface);
21
43
  /**
22
44
  * Sets the context for the authenticator as it is passed in a decorator
23
- * @param context
45
+ * @param context The context for the decorator.
24
46
  */
25
47
  setContext(context: any): Promise<void>;
26
48
  /**
27
49
  * Gets the identity from the request
28
- * @param request
50
+ * @param request The request to authenticate.
29
51
  */
30
52
  authenticate(request: Request): Promise<IdentityInterface>;
31
53
  /**
32
- * Gets the issuer for Auth0
54
+ * Builds the complete url of the issuer for Auth0.
33
55
  * @private
34
56
  */
35
57
  private getAuth0Issuer;
@@ -45,27 +67,27 @@ export declare class Auth0Authenticator implements AuthenticatorInterface {
45
67
  private getPems;
46
68
  /**
47
69
  * Validates the request and returns the token
48
- * @param request
70
+ * @param request The request to validate.
49
71
  * @private
50
72
  */
51
73
  private validateRequestAndReturnToken;
52
74
  /**
53
75
  * Verifies the token and returns the claims.
54
- * @param token
55
- * @param key
76
+ * @param token The string token.
77
+ * @param key The key to verify the token.
56
78
  * @private
57
79
  */
58
80
  private getAndVerifyClaims;
59
81
  /**
60
82
  * Gets the key based on the kid of the token
61
- * @param token
62
- * @param pems
83
+ * @param token The string token.
84
+ * @param pems The pems.
63
85
  * @private
64
86
  */
65
87
  private getKeyFromToken;
66
88
  /**
67
- * Gets the token header
68
- * @param token
89
+ * Gets the token header from the string token.
90
+ * @param token The string token.
69
91
  * @private
70
92
  */
71
93
  private getTokenHeader;
@@ -1,8 +1,29 @@
1
+ /**
2
+ * The interface of the claim of an Auth0 token.
3
+ */
1
4
  export interface ClaimInterface {
5
+ /**
6
+ * The issuer.
7
+ */
2
8
  iss: string;
9
+ /**
10
+ * The id.
11
+ */
3
12
  sub: string;
13
+ /**
14
+ * The expiration timestamp.
15
+ */
4
16
  exp: number;
17
+ /**
18
+ * The audiences.
19
+ */
5
20
  aud: string[];
21
+ /**
22
+ * The scope.
23
+ */
6
24
  scope: string;
25
+ /**
26
+ * The other claims.
27
+ */
7
28
  [key: string]: any;
8
29
  }
@@ -1,8 +1,31 @@
1
+ /**
2
+ * Interface representing an Auth0 public key.
3
+ * For more information on what the properties are for:
4
+ * https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-key-set-properties
5
+ */
1
6
  export interface PublicKeyInterface {
7
+ /**
8
+ * The specific cryptographic algorithm used with the key.
9
+ */
2
10
  alg: string;
11
+ /**
12
+ * The exponent for the RSA public key.
13
+ */
3
14
  e: string;
15
+ /**
16
+ * The unique identifier for the key.
17
+ */
4
18
  kid: string;
19
+ /**
20
+ * The family of cryptographic algorithms used with the key.
21
+ */
5
22
  kty: string;
23
+ /**
24
+ * The modulus for the RSA public key.
25
+ */
6
26
  n: string;
27
+ /**
28
+ * How the key was meant to be used; sig represents the signature.
29
+ */
7
30
  use: string;
8
31
  }
@@ -1,4 +1,13 @@
1
+ /**
2
+ * The interface representing the Auth0 token header.
3
+ */
1
4
  export interface TokenHeaderInterface {
5
+ /**
6
+ * The unique identifier of the key used for the token.
7
+ */
2
8
  kid: string;
9
+ /**
10
+ * The specific cryptographic algorithm used with the key.
11
+ */
3
12
  alg: string;
4
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/auth0",
3
- "version": "0.0.211",
3
+ "version": "0.0.212",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/auth0.module.js",
6
6
  "main": "dist/lib/cjs/auth0.module.js",
@@ -17,12 +17,12 @@
17
17
  "author": "",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@pristine-ts/common": "^0.0.211",
21
- "@pristine-ts/core": "^0.0.211",
22
- "@pristine-ts/http": "^0.0.211",
23
- "@pristine-ts/logging": "^0.0.211",
24
- "@pristine-ts/networking": "^0.0.211",
25
- "@pristine-ts/security": "^0.0.211"
20
+ "@pristine-ts/common": "^0.0.212",
21
+ "@pristine-ts/core": "^0.0.212",
22
+ "@pristine-ts/http": "^0.0.212",
23
+ "@pristine-ts/logging": "^0.0.212",
24
+ "@pristine-ts/networking": "^0.0.212",
25
+ "@pristine-ts/security": "^0.0.212"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"
@@ -61,5 +61,5 @@
61
61
  "src/*.{js,ts}"
62
62
  ]
63
63
  },
64
- "gitHead": "94c1ac74db0831033a4ee162bf3223bec5e99b1d"
64
+ "gitHead": "9616143b834932e8aa5cb28fb7fde8cb88c4a50e"
65
65
  }