openid-client 4.7.1 → 4.7.5

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/lib/client.js CHANGED
@@ -724,6 +724,8 @@ module.exports = (issuer, aadIssValidation = false) => class Client extends Base
724
724
  });
725
725
  }
726
726
 
727
+ const fapi = this.constructor.name === 'FAPIClient';
728
+
727
729
  if (returnedBy === 'authorization') {
728
730
  if (!payload.at_hash && tokenSet.access_token) {
729
731
  throw new RPError({
@@ -739,19 +741,7 @@ module.exports = (issuer, aadIssValidation = false) => class Client extends Base
739
741
  });
740
742
  }
741
743
 
742
- const fapi = this.constructor.name === 'FAPIClient';
743
-
744
744
  if (fapi) {
745
- if (payload.iat < timestamp - 3600) {
746
- throw new RPError({
747
- printf: ['JWT issued too far in the past, now %i, iat %i', timestamp, payload.iat],
748
- now: timestamp,
749
- tolerance: this[CLOCK_TOLERANCE],
750
- iat: payload.iat,
751
- jwt: idToken,
752
- });
753
- }
754
-
755
745
  if (!payload.s_hash && (tokenSet.state || state)) {
756
746
  throw new RPError({
757
747
  message: 'missing required property s_hash',
@@ -773,6 +763,16 @@ module.exports = (issuer, aadIssValidation = false) => class Client extends Base
773
763
  }
774
764
  }
775
765
 
766
+ if (fapi && payload.iat < timestamp - 3600) {
767
+ throw new RPError({
768
+ printf: ['JWT issued too far in the past, now %i, iat %i', timestamp, payload.iat],
769
+ now: timestamp,
770
+ tolerance: this[CLOCK_TOLERANCE],
771
+ iat: payload.iat,
772
+ jwt: idToken,
773
+ });
774
+ }
775
+
776
776
  if (tokenSet.access_token && payload.at_hash !== undefined) {
777
777
  try {
778
778
  tokenHash.validate({ claim: 'at_hash', source: 'access_token' }, payload.at_hash, tokenSet.access_token, header.alg, key && key.crv);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openid-client",
3
- "version": "4.7.1",
3
+ "version": "4.7.5",
4
4
  "description": "OpenID Connect Relying Party (RP, Client) implementation for Node.js runtime, supports passportjs",
5
5
  "keywords": [
6
6
  "auth",
package/types/index.d.ts CHANGED
@@ -325,6 +325,10 @@ export interface DeviceAuthorizationExtras {
325
325
  DPoP?: DPoPInput;
326
326
  }
327
327
 
328
+ export interface PushedAuthorizationRequestExtras {
329
+ clientAssertionPayload?: object;
330
+ }
331
+
328
332
  export type Address<ExtendedAddress extends {} = UnknownObject> = Override<
329
333
  {
330
334
  formatted?: string;
@@ -376,6 +380,8 @@ export interface IntrospectionResponse {
376
380
  username?: string;
377
381
  aud?: string | string[];
378
382
  scope: string;
383
+ sub?: string;
384
+ nbf?: number;
379
385
  token_type?: string;
380
386
  cnf?: {
381
387
  "x5t#S256"?: string;
@@ -509,7 +515,7 @@ export class Client {
509
515
  options?: {
510
516
  headers?: object;
511
517
  body?: string | Buffer;
512
- method?: "GET" | "POST" | "PUT" | "HEAD" | "DELETE" | "OPTIONS" | "TRACE";
518
+ method?: "GET" | "POST" | "PUT" | "HEAD" | "DELETE" | "OPTIONS" | "TRACE" | "PATCH";
513
519
  tokenType?: string;
514
520
  DPoP?: DPoPInput;
515
521
  }
@@ -553,6 +559,14 @@ export class Client {
553
559
  parameters?: DeviceAuthorizationParameters,
554
560
  extras?: DeviceAuthorizationExtras
555
561
  ): Promise<DeviceFlowHandle<Client>>;
562
+ pushedAuthorizationRequest(
563
+ parameters?: AuthorizationParameters,
564
+ extras?: PushedAuthorizationRequestExtras,
565
+ ): Promise<{
566
+ request_uri: string;
567
+ expires_in: number;
568
+ [key: string]: unknown;
569
+ }>;
556
570
  static register(
557
571
  metadata: object,
558
572
  other?: RegisterOther & ClientOptions
package/CHANGELOG.md DELETED
@@ -1,1087 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
-
5
- ## [4.7.1](https://github.com/panva/node-openid-client/compare/v4.7.0...v4.7.1) (2021-04-22)
6
-
7
-
8
- ### Bug Fixes
9
-
10
- * **typescript:** add types for 4.7.0 additions ([2c1d2ab](https://github.com/panva/node-openid-client/commit/2c1d2ab71fe2daba2dad23af1f92f66c92305df5))
11
-
12
- ## [4.7.0](https://github.com/panva/node-openid-client/compare/v4.6.0...v4.7.0) (2021-04-22)
13
-
14
-
15
- ### Features
16
-
17
- * add abort control over Device Flow Handle polling ([#357](https://github.com/panva/node-openid-client/issues/357)) ([f6faa68](https://github.com/panva/node-openid-client/commit/f6faa68850e2582c92e69fa420b8d5c58bfc951c)), closes [#355](https://github.com/panva/node-openid-client/issues/355) [#356](https://github.com/panva/node-openid-client/issues/356)
18
-
19
- ## [4.6.0](https://github.com/panva/node-openid-client/compare/v4.5.2...v4.6.0) (2021-03-25)
20
-
21
-
22
- ### Features
23
-
24
- * added OAuth 2.0 Pushed Authorization Requests client API ([e7af9f5](https://github.com/panva/node-openid-client/commit/e7af9f5125c9c1a8877482b8fda44954e60707a1)), closes [#259](https://github.com/panva/node-openid-client/issues/259)
25
-
26
- ## [4.5.2](https://github.com/panva/node-openid-client/compare/v4.5.1...v4.5.2) (2021-03-24)
27
-
28
-
29
- ### Bug Fixes
30
-
31
- * interoperable audience array value for JWT Client auth assertions ([da7d2f0](https://github.com/panva/node-openid-client/commit/da7d2f0090cd0323a14702bcca77536eb4e2b49d))
32
-
33
- ## [4.5.1](https://github.com/panva/node-openid-client/compare/v4.5.0...v4.5.1) (2021-03-15)
34
-
35
-
36
- ### Bug Fixes
37
-
38
- * use mtls token endpoint alias as audience when using jwt auth with mtls constrained tokens ([c463359](https://github.com/panva/node-openid-client/commit/c4633591ed7ebdf973b0240959078a8217beccbb))
39
-
40
- ## [4.5.0](https://github.com/panva/node-openid-client/compare/v4.4.2...v4.5.0) (2021-03-10)
41
-
42
-
43
- ### Features
44
-
45
- * include `nbf` in FAPIClient Request Objects ([0be56ba](https://github.com/panva/node-openid-client/commit/0be56ba5622e0062495965f55285438542da614e))
46
-
47
- ## [4.4.2](https://github.com/panva/node-openid-client/compare/v4.4.1...v4.4.2) (2021-03-07)
48
-
49
-
50
- ### Bug Fixes
51
-
52
- * resolve discovery URIs one by one to yield consistent results ([6b18218](https://github.com/panva/node-openid-client/commit/6b18218cfa098195ec8442086221a88fa6aef654)), closes [#260](https://github.com/panva/node-openid-client/issues/260) [#267](https://github.com/panva/node-openid-client/issues/267)
53
-
54
- ## [4.4.1](https://github.com/panva/node-openid-client/compare/v4.4.0...v4.4.1) (2021-02-26)
55
-
56
-
57
- ### Bug Fixes
58
-
59
- * hide AggregateError message stack ([3011cca](https://github.com/panva/node-openid-client/commit/3011ccabc63e670adcee432b6565d10b55554865)), closes [#336](https://github.com/panva/node-openid-client/issues/336)
60
-
61
- ## [4.4.0](https://github.com/panva/node-openid-client/compare/v4.3.0...v4.4.0) (2021-01-29)
62
-
63
-
64
- ### Features
65
-
66
- * allow options.https.pfx for mTSL ([075cad7](https://github.com/panva/node-openid-client/commit/075cad73a28d825128e6c92d44e7dba556b6a6f4)), closes [#326](https://github.com/panva/node-openid-client/issues/326)
67
-
68
- ## [4.3.0](https://github.com/panva/node-openid-client/compare/v4.2.3...v4.3.0) (2021-01-22)
69
-
70
-
71
- ### Features
72
-
73
- * **typescript:** add userinfo response generics ([b176b2f](https://github.com/panva/node-openid-client/commit/b176b2f9161be77082c520ab532c237380abda22))
74
-
75
- ## [4.2.3](https://github.com/panva/node-openid-client/compare/v4.2.2...v4.2.3) (2021-01-18)
76
-
77
-
78
- ### Performance
79
-
80
- * use base64url encoding in node when available ([24ab5b4](https://github.com/panva/node-openid-client/commit/24ab5b46c688cd1dd3679fe61a9de668c87e656b))
81
-
82
- ## [4.2.2](https://github.com/panva/node-openid-client/compare/v4.2.1...v4.2.2) (2020-11-30)
83
-
84
-
85
- ### Bug Fixes
86
-
87
- * push pkce <> response type resolution to the authenticate function ([1970af4](https://github.com/panva/node-openid-client/commit/1970af41dc0cd62d44efb1f0a48bdc2a70bcd608)), closes [#312](https://github.com/panva/node-openid-client/issues/312)
88
-
89
- ## [4.2.1](https://github.com/panva/node-openid-client/compare/v4.2.0...v4.2.1) (2020-10-27)
90
-
91
-
92
- ### Bug Fixes
93
-
94
- * **typescript:** add state property to AuthorizationParameters ([#305](https://github.com/panva/node-openid-client/issues/305)) ([b9dfa60](https://github.com/panva/node-openid-client/commit/b9dfa6064d7823ab0bb3eed486a3a5c7ad452982)), closes [#304](https://github.com/panva/node-openid-client/issues/304)
95
-
96
- ## [4.2.0](https://github.com/panva/node-openid-client/compare/v4.1.1...v4.2.0) (2020-10-03)
97
-
98
-
99
- ### Features
100
-
101
- * add callback extras to strategy options ([#295](https://github.com/panva/node-openid-client/issues/295)) ([b77466d](https://github.com/panva/node-openid-client/commit/b77466ddb597accdb783bad07566f28db0d2c827))
102
-
103
- ## [4.1.1](https://github.com/panva/node-openid-client/compare/v4.1.0...v4.1.1) (2020-09-14)
104
-
105
-
106
- ### Bug Fixes
107
-
108
- * **typescript:** ts module interop issues with default export ([6ca57d0](https://github.com/panva/node-openid-client/commit/6ca57d0ef08c188c1da7f3c980b74ba3abf33966)), closes [#291](https://github.com/panva/node-openid-client/issues/291)
109
-
110
- ## [4.1.0](https://github.com/panva/node-openid-client/compare/v4.0.2...v4.1.0) (2020-09-11)
111
-
112
-
113
- ### Features
114
-
115
- * OAuth 2.0 DPoP in various relevant API interfaces ([44a0de7](https://github.com/panva/node-openid-client/commit/44a0de7ceb62cabacd62798ac136f1c394907028))
116
-
117
- ## [4.0.2](https://github.com/panva/node-openid-client/compare/v4.0.1...v4.0.2) (2020-09-11)
118
-
119
-
120
- ### Bug Fixes
121
-
122
- * updated request object mime-type as per draft-ietf-oauth-jwsreq-30 ([d5cc619](https://github.com/panva/node-openid-client/commit/d5cc619cbf137c42898229546e44b8f065af6e3f))
123
-
124
- ## [4.0.1](https://github.com/panva/node-openid-client/compare/v4.0.0...v4.0.1) (2020-09-10)
125
-
126
-
127
- ### Bug Fixes
128
-
129
- * ensure minimal got version handles upcoming node version changes ([fd737a3](https://github.com/panva/node-openid-client/commit/fd737a3598c29d7069328156e06b23d08c1f50c6))
130
-
131
- ## [4.0.0](https://github.com/panva/node-openid-client/compare/v3.15.10...v4.0.0) (2020-09-09)
132
-
133
-
134
- ### ⚠ BREAKING CHANGES
135
-
136
- * the deprecated `issuer.key()` method was removed
137
- * due to added ESM module support Node.js version with
138
- ESM implementation bugs are no longer supported, this only affects early
139
- v13.x versions. The resulting Node.js semver range is
140
- `^10.19.0 || >=12.0.0 < 13 || >=13.7.0` (also taking into account the
141
- `got` dependency update)
142
- * upgraded got http request library dependency from
143
- `v9.x` to `v11.x`. If you override some of the http request options
144
- you will most certainly have to accomodate them.
145
- * Signed Request Object "typ" changed from `JWT` to
146
- `oauth.authz.req+jwt`
147
- * Encrypted Request Object "cty" changed from `JWT` to
148
- `oauth.authz.req+jwt`
149
- * PKCE is now used by default in the passport strategy
150
- * `client.userinfo()` `verb` parameter was renamed to
151
- `method`
152
- * the deprecated `client.resource()` method was removed
153
-
154
- ### Features
155
-
156
- * added support for ESM (ECMAScript modules) ([3ac37e8](https://github.com/panva/node-openid-client/commit/3ac37e80d66d47e9814972ed86d1323b9ee96b79))
157
- * passport strategy will now use PKCE by default where applicable ([56f9fe7](https://github.com/panva/node-openid-client/commit/56f9fe7171ccc1bec6427d4f9bc45e419150ab4d))
158
-
159
-
160
- ### Bug Fixes
161
-
162
- * request object type changed from 'JWT' to 'oauth.authz.req+jwt' ([641a42f](https://github.com/panva/node-openid-client/commit/641a42fdd3097289085340afab652e4b8b9f571c))
163
-
164
-
165
- ### Refactor
166
-
167
- * remove deprecated `client.resource()` ([c0ec865](https://github.com/panva/node-openid-client/commit/c0ec8652673c7b276a7c71eb2d730eb3feb22eeb))
168
- * remove deprecated `issuer.key()` ([5cd1ecf](https://github.com/panva/node-openid-client/commit/5cd1ecfced358c7a685d9dc29aa451a9ef13b770))
169
- * rename `client.userinfo()` `verb` parameter to `method` ([4cb21a4](https://github.com/panva/node-openid-client/commit/4cb21a4c2aef6421fe7a0f67d45baf209989cdd4))
170
- * upgrade got from v9.x to v11.x ([c72b5e8](https://github.com/panva/node-openid-client/commit/c72b5e812f6a94a92e008facefa72c366728d4a5))
171
-
172
- ## [3.15.10](https://github.com/panva/node-openid-client/compare/v3.15.9...v3.15.10) (2020-09-02)
173
-
174
-
175
- ### Bug Fixes
176
-
177
- * **typescript:** add missing types ([#284](https://github.com/panva/node-openid-client/issues/284)) ([49e0ff0](https://github.com/panva/node-openid-client/commit/49e0ff0c695cabd54148bc8a83611dd4ef6ed47c))
178
-
179
- ## [3.15.9](https://github.com/panva/node-openid-client/compare/v3.15.8...v3.15.9) (2020-07-26)
180
-
181
-
182
- ### Bug Fixes
183
-
184
- * **typescript:** max_age in AuthorizationParameters is a number ([5ce2a73](https://github.com/panva/node-openid-client/commit/5ce2a733890dba6ba2bc2f8f296a4235c0c5cdd6)), closes [#279](https://github.com/panva/node-openid-client/issues/279)
185
-
186
-
187
-
188
- ## [3.15.8](https://github.com/panva/node-openid-client/compare/v3.15.7...v3.15.8) (2020-07-17)
189
-
190
-
191
- ### Bug Fixes
192
-
193
- * allow AAD appid including discovery URLs to be multi-tenant ([c27caab](https://github.com/panva/node-openid-client/commit/c27caab9b9df92b591c4f0491fd2ec346ff48988))
194
-
195
-
196
-
197
- ## [3.15.7](https://github.com/panva/node-openid-client/compare/v3.15.6...v3.15.7) (2020-07-16)
198
-
199
-
200
-
201
- ## [3.15.6](https://github.com/panva/node-openid-client/compare/v3.15.5...v3.15.6) (2020-07-06)
202
-
203
-
204
- ### Bug Fixes
205
-
206
- * merge helper returns modified object, leftovers removed ([2e3339b](https://github.com/panva/node-openid-client/commit/2e3339bd82297d6e37574e007b8a443087f3291e))
207
-
208
-
209
-
210
- ## [3.15.5](https://github.com/panva/node-openid-client/compare/v3.15.4...v3.15.5) (2020-06-26)
211
-
212
-
213
- ### Bug Fixes
214
-
215
- * regression from [#272](https://github.com/panva/node-openid-client/issues/272) ([9bff960](https://github.com/panva/node-openid-client/commit/9bff960bda42fd8af7b8569f121ca35c7f4cfae4))
216
-
217
-
218
-
219
- ## [3.15.4](https://github.com/panva/node-openid-client/compare/v3.15.3...v3.15.4) (2020-06-26)
220
-
221
-
222
-
223
- ## [3.15.3](https://github.com/panva/node-openid-client/compare/v3.15.2...v3.15.3) (2020-06-15)
224
-
225
-
226
- ### Bug Fixes
227
-
228
- * give AAD v1 common same treatment as v2 common ([2344e00](https://github.com/panva/node-openid-client/commit/2344e006fd4086d0df8391f9ef95cce25299e45f)), closes [#269](https://github.com/panva/node-openid-client/issues/269)
229
-
230
-
231
-
232
- ## [3.15.2](https://github.com/panva/node-openid-client/compare/v3.15.1...v3.15.2) (2020-06-01)
233
-
234
-
235
- ### Bug Fixes
236
-
237
- * allow any JSON numeric value for timestamp values ([a24a759](https://github.com/panva/node-openid-client/commit/a24a7596c038bacd5bdbfc5b8678a96e62b86fd2)), closes [#263](https://github.com/panva/node-openid-client/issues/263)
238
-
239
-
240
-
241
- ## [3.15.1](https://github.com/panva/node-openid-client/compare/v3.15.0...v3.15.1) (2020-05-12)
242
-
243
-
244
- ### Bug Fixes
245
-
246
- * A192CBC-HS384 and A256CBC-HS512 direct encryption key derivation ([c356bbe](https://github.com/panva/node-openid-client/commit/c356bbeaba1e28b6a56534b9ba503cb536c14d57))
247
-
248
-
249
-
250
- ## [3.15.0](https://github.com/panva/node-openid-client/compare/v3.14.2...v3.15.0) (2020-04-28)
251
-
252
-
253
- ### Features
254
-
255
- * add RPError indicators for unix timestamp comparison failures ([fe3db5c](https://github.com/panva/node-openid-client/commit/fe3db5c46a04cab024901782f202d08234b4cd96)), closes [#250](https://github.com/panva/node-openid-client/issues/250)
256
-
257
-
258
-
259
- ## [3.14.2](https://github.com/panva/node-openid-client/compare/v3.14.1...v3.14.2) (2020-04-07)
260
-
261
-
262
- ### Bug Fixes
263
-
264
- * **typescript:** add options arg to TypeOfGenericClient ([b97b028](https://github.com/panva/node-openid-client/commit/b97b0288d5d79f25cad3d0009212878c5d42a2e0))
265
-
266
-
267
-
268
- ## [3.14.1](https://github.com/panva/node-openid-client/compare/v3.14.0...v3.14.1) (2020-03-21)
269
-
270
-
271
- ### Bug Fixes
272
-
273
- * assert refresh_token grant ID Token sub to equal previous ([23f3f9f](https://github.com/panva/node-openid-client/commit/23f3f9fcb88c157cf9bbfa7cc2444e07f0cedc18))
274
-
275
-
276
-
277
- ## [3.14.0](https://github.com/panva/node-openid-client/compare/v3.13.0...v3.14.0) (2020-02-28)
278
-
279
-
280
- ### Features
281
-
282
- * support additional authorized parties ([c9268ce](https://github.com/panva/node-openid-client/commit/c9268ce24c0080729652d7ba67a7f313227dc815)), closes [#231](https://github.com/panva/node-openid-client/issues/231)
283
-
284
-
285
-
286
- ## [3.13.0](https://github.com/panva/node-openid-client/compare/v3.12.2...v3.13.0) (2020-02-18)
287
-
288
-
289
- ### Features
290
-
291
- * add support for RSA-OAEP-384 and RSA-OAEP-512 JWE algorithms ([6c696e9](https://github.com/panva/node-openid-client/commit/6c696e98202af2a358fde72bd0718c7dff7f3a96))
292
-
293
-
294
-
295
- ## [3.12.2](https://github.com/panva/node-openid-client/compare/v3.12.1...v3.12.2) (2020-01-30)
296
-
297
-
298
- ### Bug Fixes
299
-
300
- * ensure jose version that handles ECDH-ES for larger key sizes right ([e91001a](https://github.com/panva/node-openid-client/commit/e91001a30e0c429ef5bb49e0fda58a54f765c346))
301
-
302
-
303
-
304
- ## [3.12.1](https://github.com/panva/node-openid-client/compare/v3.12.0...v3.12.1) (2020-01-25)
305
-
306
-
307
- ### Bug Fixes
308
-
309
- * allow multiple keys to match when selecting encryption key for request object ([fa3fa67](https://github.com/panva/node-openid-client/commit/fa3fa677709f4e229c6356896731416feff71509))
310
-
311
-
312
-
313
- ## [3.12.0](https://github.com/panva/node-openid-client/compare/v3.11.0...v3.12.0) (2020-01-23)
314
-
315
-
316
- ### Bug Fixes
317
-
318
- * allow omitting the `*_enc` attributes (default 'A128CBC-HS256') ([6567c73](https://github.com/panva/node-openid-client/commit/6567c73996ba247d1bd46796d37a32ffa93d74a5))
319
-
320
-
321
- ### Features
322
-
323
- * new API for fetching arbitrary resources with the access token ([c981ed6](https://github.com/panva/node-openid-client/commit/c981ed68e5cb0a53f064eb27604d8790ef3dac91)), closes [#222](https://github.com/panva/node-openid-client/issues/222)
324
-
325
-
326
-
327
- ## [3.11.0](https://github.com/panva/node-openid-client/compare/v3.10.1...v3.11.0) (2020-01-10)
328
-
329
-
330
- ### Bug Fixes
331
-
332
- * **typescript:** allow 'id_token token' as a response type ([61c486c](https://github.com/panva/node-openid-client/commit/61c486c2b800c9299f4eaf3649711c39a6e5ce57))
333
-
334
-
335
- ### Features
336
-
337
- * detect self-issued OP and validate ID Token accordingly ([c5d3158](https://github.com/panva/node-openid-client/commit/c5d315826a767d1479509931eddb5ae6e3b99532)), closes [#220](https://github.com/panva/node-openid-client/issues/220) [#221](https://github.com/panva/node-openid-client/issues/221)
338
-
339
-
340
-
341
- ## [3.10.1](https://github.com/panva/node-openid-client/compare/v3.10.0...v3.10.1) (2020-01-07)
342
-
343
-
344
- ### Bug Fixes
345
-
346
- * allow duplicate "kid" values in issuer's jwks_uri (sigh) ([8840fb6](https://github.com/panva/node-openid-client/commit/8840fb6e9cb2b3f8e6396b596ff90f8f080e7f7a))
347
-
348
-
349
-
350
- ## [3.10.0](https://github.com/panva/node-openid-client/compare/v3.9.2...v3.10.0) (2019-12-27)
351
-
352
-
353
- ### Bug Fixes
354
-
355
- * enabled full JWT validation on distributed and aggregated claims ([d95e31b](https://github.com/panva/node-openid-client/commit/d95e31bf33bf3dc9a90e420a6dc90bbfd964d885))
356
-
357
-
358
- ### Features
359
-
360
- * allow consuming JARM responses (jwt response mode) ([dd4aae9](https://github.com/panva/node-openid-client/commit/dd4aae92eafbdde5ac11c2d7d422d150ceed45da))
361
-
362
-
363
-
364
- ## [3.9.2](https://github.com/panva/node-openid-client/compare/v3.9.1...v3.9.2) (2019-12-17)
365
-
366
-
367
- ### Bug Fixes
368
-
369
- * skip validating iat is in the past ([0791001](https://github.com/panva/node-openid-client/commit/0791001a6e0244ac3fbde8b9e6cf206d97f82fbe))
370
-
371
-
372
-
373
- ## [3.9.1](https://github.com/panva/node-openid-client/compare/v3.9.0...v3.9.1) (2019-12-15)
374
-
375
-
376
- ### Bug Fixes
377
-
378
- * remove check for nonce presence in params ([cac46fb](https://github.com/panva/node-openid-client/commit/cac46fb1846c853f6c519beddd5ab5bdaf0770b1))
379
-
380
-
381
-
382
- ## [3.9.0](https://github.com/panva/node-openid-client/compare/v3.8.4...v3.9.0) (2019-12-06)
383
-
384
-
385
- ### Bug Fixes
386
-
387
- * check for mTLS request options during token_endpoint calls ([269569f](https://github.com/panva/node-openid-client/commit/269569fbb08139694589f1b27bda690b8d8474fe))
388
- * **typescript:** complete http options ([3997687](https://github.com/panva/node-openid-client/commit/3997687cc68bf76bc92ac143c5e5fe3b9cbd3914))
389
-
390
-
391
- ### Features
392
-
393
- * added API for fetching any resource ([ae242a5](https://github.com/panva/node-openid-client/commit/ae242a5c058386a3607af4a662dbf696938bc6f1))
394
- * added issuer.FAPIClient for FAPI RW integrations ([ab88aa5](https://github.com/panva/node-openid-client/commit/ab88aa590fb5a853ddbd8273a713bf142a9f5049))
395
-
396
-
397
-
398
- ## [3.8.4](https://github.com/panva/node-openid-client/compare/v3.8.3...v3.8.4) (2019-11-26)
399
-
400
-
401
- ### Bug Fixes
402
-
403
- * use shake256(m, 114) for Ed448 ID Token _hash claims ([80311c8](https://github.com/panva/node-openid-client/commit/80311c89273d9e2577dc694f1ac91a00944cc026))
404
-
405
-
406
-
407
- ## [3.8.3](https://github.com/panva/node-openid-client/compare/v3.8.2...v3.8.3) (2019-11-14)
408
-
409
-
410
-
411
- ## [3.8.2](https://github.com/panva/node-openid-client/compare/v3.8.1...v3.8.2) (2019-11-10)
412
-
413
-
414
- ### Bug Fixes
415
-
416
- * assert jwks is present for private_key_jwk first ([c1f875c](https://github.com/panva/node-openid-client/commit/c1f875c0c4a472b2dc424bc9de21a9cbdc8ca8ad))
417
-
418
-
419
-
420
- ## [3.8.1](https://github.com/panva/node-openid-client/compare/v3.8.0...v3.8.1) (2019-11-07)
421
-
422
-
423
- ### Bug Fixes
424
-
425
- * use sha512 for Ed25519 and shake256 for Ed448 ID Token _hash claims ([31f7a04](https://github.com/panva/node-openid-client/commit/31f7a040c289e7fd389a0083803f2998bf62b660))
426
-
427
-
428
-
429
- ## [3.8.0](https://github.com/panva/node-openid-client/compare/v3.7.4...v3.8.0) (2019-11-07)
430
-
431
-
432
- ### Features
433
-
434
- * allow tokenType for userinfo to use as authorization header scheme ([4eaa75f](https://github.com/panva/node-openid-client/commit/4eaa75f714a744f9e712615dedc6702f4f9b7a64))
435
-
436
-
437
-
438
- ## [3.7.4](https://github.com/panva/node-openid-client/compare/v3.7.3...v3.7.4) (2019-10-24)
439
-
440
-
441
- ### Bug Fixes
442
-
443
- * allow distributed claims to be missing from the response ([48d6633](https://github.com/panva/node-openid-client/commit/48d6633af2bb5d724c2fee2628fdfc871324bb94)), closes [#197](https://github.com/panva/node-openid-client/issues/197)
444
-
445
-
446
-
447
- ## [3.7.3](https://github.com/panva/node-openid-client/compare/v3.7.2...v3.7.3) (2019-10-01)
448
-
449
-
450
- ### Bug Fixes
451
-
452
- * use updated jose package ([1f3a251](https://github.com/panva/node-openid-client/commit/1f3a251))
453
-
454
-
455
-
456
- ## [3.7.2](https://github.com/panva/node-openid-client/compare/v3.7.1...v3.7.2) (2019-09-13)
457
-
458
-
459
- ### Bug Fixes
460
-
461
- * **typescript:** add missing Strategy interface properties ([c0d59c4](https://github.com/panva/node-openid-client/commit/c0d59c4)), closes [#189](https://github.com/panva/node-openid-client/issues/189)
462
-
463
-
464
-
465
- ## [3.7.1](https://github.com/panva/node-openid-client/compare/v3.7.0...v3.7.1) (2019-09-09)
466
-
467
-
468
- ### Bug Fixes
469
-
470
- * **typescript:** remove the need for @types/got dependency ([e5a50d7](https://github.com/panva/node-openid-client/commit/e5a50d7))
471
-
472
-
473
-
474
- ## [3.7.0](https://github.com/panva/node-openid-client/compare/v3.6.2...v3.7.0) (2019-09-09)
475
-
476
-
477
- ### Bug Fixes
478
-
479
- * assert client_secret is present when required, require client_id, etc ([82855a5](https://github.com/panva/node-openid-client/commit/82855a5))
480
-
481
-
482
- ### Features
483
-
484
- * Add Typescript definitions ([#184](https://github.com/panva/node-openid-client/issues/184)) ([c37130b](https://github.com/panva/node-openid-client/commit/c37130b))
485
- * allow clientAssertionPayload to overwrite default payload ([28c8964](https://github.com/panva/node-openid-client/commit/28c8964))
486
-
487
-
488
-
489
- ## [3.6.2](https://github.com/panva/node-openid-client/compare/v3.6.1...v3.6.2) (2019-09-03)
490
-
491
-
492
- ### Bug Fixes
493
-
494
- * device authorization request always pushes the client_id to body ([6fbf125](https://github.com/panva/node-openid-client/commit/6fbf125))
495
-
496
-
497
-
498
- ## [3.6.1](https://github.com/panva/node-openid-client/compare/v3.6.0...v3.6.1) (2019-08-24)
499
-
500
-
501
- ### Bug Fixes
502
-
503
- * ignore runtime unsupported or malformed issuer jwks ([f08b8be](https://github.com/panva/node-openid-client/commit/f08b8be))
504
-
505
-
506
-
507
- ## [3.6.0](https://github.com/panva/node-openid-client/compare/v3.5.0...v3.6.0) (2019-08-24)
508
-
509
-
510
- ### Features
511
-
512
- * add RFC8628 - OAuth 2.0 Device Authorization Grant (Device Flow) support ([adb4b76](https://github.com/panva/node-openid-client/commit/adb4b76))
513
- * allow multiple resource parameters in authorization requests ([dfdd8cb](https://github.com/panva/node-openid-client/commit/dfdd8cb))
514
-
515
-
516
-
517
- ## [3.5.0](https://github.com/panva/node-openid-client/compare/v3.4.0...v3.5.0) (2019-08-22)
518
-
519
-
520
- ### Features
521
-
522
- * added Node.js lts/dubnium support for runtime supported features ([54788c2](https://github.com/panva/node-openid-client/commit/54788c2))
523
-
524
-
525
-
526
- ## [3.4.0](https://github.com/panva/node-openid-client/compare/v3.3.0...v3.4.0) (2019-08-13)
527
-
528
-
529
- ### Features
530
-
531
- * electron v6.x runtime support ([65ec619](https://github.com/panva/node-openid-client/commit/65ec619))
532
-
533
-
534
-
535
- ## [3.3.0](https://github.com/panva/node-openid-client/compare/v3.2.3...v3.3.0) (2019-08-02)
536
-
537
-
538
- ### Features
539
-
540
- * option to change http options globally ([a1e0a3f](https://github.com/panva/node-openid-client/commit/a1e0a3f))
541
-
542
-
543
-
544
- ## [3.2.3](https://github.com/panva/node-openid-client/compare/v3.2.2...v3.2.3) (2019-07-18)
545
-
546
-
547
- ### Bug Fixes
548
-
549
- * **strategy:** do not modify the params argument, clone it instead ([4731d29](https://github.com/panva/node-openid-client/commit/4731d29)), closes [#177](https://github.com/panva/node-openid-client/issues/177)
550
-
551
-
552
-
553
- ## [3.2.2](https://github.com/panva/node-openid-client/compare/v3.2.1...v3.2.2) (2019-07-12)
554
-
555
-
556
- ### Bug Fixes
557
-
558
- * give AAD v2 organizations and consumers same treatment as common ([4891b5b](https://github.com/panva/node-openid-client/commit/4891b5b)), closes [#175](https://github.com/panva/node-openid-client/issues/175)
559
-
560
-
561
-
562
- ## [3.2.1](https://github.com/panva/node-openid-client/compare/v3.2.0...v3.2.1) (2019-07-10)
563
-
564
-
565
- ### Bug Fixes
566
-
567
- * plug reported lodash vulnerability ([b690dac](https://github.com/panva/node-openid-client/commit/b690dac))
568
-
569
-
570
-
571
- ## [3.2.0](https://github.com/panva/node-openid-client/compare/v3.1.2...v3.2.0) (2019-06-27)
572
-
573
-
574
- ### Features
575
-
576
- * feat: added support for direct symmetric key encryption alg (dir) ([f1b4282](https://github.com/panva/node-openid-client/commit/f1b4282))
577
-
578
-
579
-
580
- ## [3.1.2](https://github.com/panva/node-openid-client/compare/v3.1.1...v3.1.2) (2019-06-21)
581
-
582
-
583
- ### Bug Fixes
584
-
585
- * ensure runtime @panva/jose dependency ^1.3.0 ([d992deb](https://github.com/panva/node-openid-client/commit/d992deb))
586
-
587
-
588
-
589
- ## [3.1.1](https://github.com/panva/node-openid-client/compare/v3.1.0...v3.1.1) (2019-05-15)
590
-
591
-
592
- ### Bug Fixes
593
-
594
- * passport strategy runtime authenticate parameters regression ([36e741e](https://github.com/panva/node-openid-client/commit/36e741e)), closes [#167](https://github.com/panva/node-openid-client/issues/167)
595
-
596
-
597
-
598
- ## [3.1.0](https://github.com/panva/node-openid-client/compare/v3.0.0...v3.1.0) (2019-05-13)
599
-
600
-
601
- ### Features
602
-
603
- * add helpers for generating secure random values & PKCE challenges ([44f1865](https://github.com/panva/node-openid-client/commit/44f1865))
604
-
605
-
606
-
607
- ## [3.0.0](https://github.com/panva/node-openid-client/compare/v2.5.0...v3.0.0) (2019-05-11)
608
-
609
-
610
- ### Bug Fixes
611
-
612
- * authorizationParams no longer requires nonce for `response_type=token`
613
- * issuer's auth signing algs presence is now asserted if client is missing the relevant metadata property
614
- * unintended (client|issuer).metadata[property] reassignment is no longer possible
615
- * refreshed encrypted ID Tokens are now properly decrypted
616
- * userinfo_endpoint presence on an issuer is now asserted during userinfo function call
617
- * PBES2 symmetric encryption and decryption now correctly uses the `client_secret` value rather then
618
- its SHA digest
619
- * Accept header is now correctly set for all requests
620
- * clients configured to receive signed and/or encrypted userinfo endpoints will now correctly reject
621
- a response that isn't proper `application/jwt`
622
-
623
-
624
- ### Features
625
-
626
- * **Typed Errors** - openid-client now has unique errors for HTTP transport related errors, OP/AS
627
- returned errors and RP(client-side) assertions.
628
- * **common configuration issues are now gracefully handled.** I feel like many developers may be
629
- setting properties like `redirect_uri` or `response_type` on a client instance. I sympathize and
630
- openid-client will now take these common mistakes and accomodate.
631
- * **QoL** `#client.authorizationParams()` will now attempt to resolve the `redirect_uri` and
632
- `response_type` from your client's metadata. If there's only one listed, it will be used
633
- automatically. If there's more, you must continue providing it explicitly.
634
- * **per-request http request options helper function** HTTP request options can now be modified on
635
- a per request basis for the different classes or their instances. This now allows each request's
636
- options to be altered on-demand with e.g. client mutual-TLS certificates or implementing work
637
- arounds for specific AS quirks.
638
- * **mutual-TLS client authentication** is now supported through the above mentioned helper for both
639
- client-authentication and proof-of-possession purposes.
640
- * **custom request bodies** Where the above per-request helper falls short is providing extra
641
- token endpoint exchange parameters like `resource` to authorization code or refresh token exchange,
642
- you can now pass those in the actual client methods.
643
- * **custom client assertion payloads** You can now pass extra claims to the client authenticated
644
- calls e.g. token, introspect, revoke.
645
- * **request objects are now set to be one-time use** Generated Request Objects are secure by default
646
- they include iat, exp and jti claims so that OPs have a way to make them one-time use depending on
647
- their policy.
648
- * **EdDSA support** OKP JSON Web Keys and EdDSA signing and verification is now supported.
649
-
650
-
651
- ### BREAKING CHANGES
652
- * openid-client now uses `@panva/jose` for all things JOSE. As a result of this the minimum required
653
- node version is v12.0.0 and the client will now only function in node.js environments.
654
- * `Issuer.defaultHttpOptions` getter and setter were removed. See documentation customization
655
- section for its replacement.
656
- * `client.CLOCK_TOLERANCE` client property was removed. See documentation customization section for
657
- its replacement.
658
- * `client.authorizationCallback()` has been renamed to `client.callback()`
659
- * `tokenset.claims` getter is now a function `tokenset.claims()`
660
- * `useRequest` and `useGot` methods were removed, with the maintenance mode and inevitable
661
- deprecation of the `request` module i've decided to only support got as an http request library.
662
- * Instead of passing jose library keystore instances with private keys the API now
663
- expects a JWKS formatted object. `keystore` options argument properties are now called just `jwks`.
664
- * `response_type=code` is no longer defaulted to in `#client.authorizationUrl()` if your client
665
- instance has multiple `response_types` members.
666
- * Strict `===` equality operator is now used for assertions, while unlikely the breaking change is
667
- that should some ID Token claims be correct values but incorrect type, these will start failing now.
668
- * `#client.revoke()` no longer returns or in any way processes the response body as per spec
669
- requirements.
670
- * All http(s) responses are now strictly checked for the expected http response status code.
671
- * All http(s) requests now assert that an absolute URL is being requested.
672
- * Passport Strategy will now fail when userinfo is requested via the verify callback arity but no
673
- access token is returned from the OP.
674
-
675
-
676
-
677
- ## [2.5.0](https://github.com/panva/node-openid-client/compare/v2.4.5...v2.5.0) (2019-04-29)
678
-
679
-
680
- ### Bug Fixes
681
-
682
- * key lookup cache is now working as intended ([90d2f2a](https://github.com/panva/node-openid-client/commit/90d2f2a)), closes [#162](https://github.com/panva/node-openid-client/issues/162)
683
-
684
-
685
- ### Features
686
-
687
- * add support for azure ad v2 multitenant apps ([24486dd](https://github.com/panva/node-openid-client/commit/24486dd)), closes [#148](https://github.com/panva/node-openid-client/issues/148)
688
-
689
-
690
-
691
- ## [2.4.5](https://github.com/panva/node-openid-client/compare/v2.4.4...v2.4.5) (2018-11-05)
692
-
693
-
694
- ### Bug Fixes
695
-
696
- * upgrade min node-jose version to fix its performance in node ([e682dfc](https://github.com/panva/node-openid-client/commit/e682dfc))
697
-
698
-
699
-
700
- ## [2.4.4](https://github.com/panva/node-openid-client/compare/v2.4.3...v2.4.4) (2018-10-18)
701
-
702
-
703
- ### Bug Fixes
704
-
705
- * strategy code_verifier length, removed uuid dependency ([60d0cb8...ea4a8fd](https://github.com/panva/node-openid-client/compare/60d0cb8...ea4a8fd)), closes [#131](https://github.com/panva/node-openid-client/issues/131)
706
-
707
-
708
-
709
- ## [2.4.3](https://github.com/panva/node-openid-client/compare/v2.4.2...v2.4.3) (2018-10-10)
710
-
711
-
712
- ### Bug Fixes
713
-
714
- * assign Discovery 1.0 defaults when discovering with .well-known ([74b593e](https://github.com/panva/node-openid-client/commit/74b593e))
715
-
716
-
717
-
718
- ## [2.4.2](https://github.com/panva/node-openid-client/compare/v2.4.1...v2.4.2) (2018-09-27)
719
-
720
-
721
- ### Bug Fixes
722
-
723
- * non-string error responses are not treated as OpenIdConnectError ([782d464](https://github.com/panva/node-openid-client/commit/782d464)), closes [#125](https://github.com/panva/node-openid-client/issues/125)
724
-
725
-
726
-
727
- ## [2.4.1](https://github.com/panva/node-openid-client/compare/v2.4.0...v2.4.1) (2018-09-16)
728
-
729
-
730
- ### Bug Fixes
731
-
732
- * lts/boron unsupported syntax fix ([5289188](https://github.com/panva/node-openid-client/commit/5289188))
733
-
734
-
735
-
736
- ## [2.4.0](https://github.com/panva/node-openid-client/compare/v2.3.1...v2.4.0) (2018-09-16)
737
-
738
-
739
- ### Bug Fixes
740
-
741
- * OpenIdConnectError also returns session_state ([95fae3d](https://github.com/panva/node-openid-client/commit/95fae3d))
742
- * stop sending state on the authorisation code token grant ([c4c9e50](https://github.com/panva/node-openid-client/commit/c4c9e50))
743
-
744
-
745
- ### Features
746
-
747
- * add RP-Initiated Logout URL helper ([7c2e030](https://github.com/panva/node-openid-client/commit/7c2e030)), closes [#116](https://github.com/panva/node-openid-client/issues/116)
748
-
749
-
750
-
751
- ## [2.3.1](https://github.com/panva/node-openid-client/compare/v2.3.0...v2.3.1) (2018-08-23)
752
-
753
-
754
- ### Bug Fixes
755
-
756
- * apply safer, simpler www-authenticate parsing regex ([ffce55a](https://github.com/panva/node-openid-client/commit/ffce55a))
757
- * only assign Discovery 1.0 defaults when Issuer is discovered ([dca60b8](https://github.com/panva/node-openid-client/commit/dca60b8))
758
-
759
-
760
-
761
- ## [2.3.0](https://github.com/panva/node-openid-client/compare/v2.2.1...v2.3.0) (2018-08-11)
762
-
763
-
764
- ### Features
765
-
766
- * authorization response parameter checking based on response_type ([6e0ac57](https://github.com/panva/node-openid-client/commit/6e0ac57))
767
- * passport strategy automatically checks response REQUIRED params ([902eeed](https://github.com/panva/node-openid-client/commit/902eeed))
768
-
769
-
770
-
771
- # Pre standard-version Change Log
772
- ## Version 2.2.x
773
- ### Version 2.2.1
774
- - 2018-07-10 [DIFF](https://github.com/panva/node-openid-client/compare/v2.2.0...v2.2.1)
775
- - improved discovery support of custom .well-known suffixes
776
- - chores - refactoring, missing tests, cleanup
777
-
778
- ### Version 2.2.0
779
- - 2018-07-04 [DIFF](https://github.com/panva/node-openid-client/compare/v2.1.1...v2.2.0)
780
- - added support for [RFC8414 - OAuth 2.0 Authorization Server Metadata](https://tools.ietf.org/html/rfc8414)
781
- discovery
782
-
783
- ## Version 2.1.x
784
- ### Version 2.1.1
785
- - 2018-06-28 [DIFF](https://github.com/panva/node-openid-client/compare/v2.1.0...v2.1.1)
786
- - fixed handling of bearer endpoint responses with www-authenticate headers only. fixes #102
787
-
788
- ### Version 2.1.0
789
- - 2018-05-31 [DIFF](https://github.com/panva/node-openid-client/compare/v2.0.4...v2.1.0)
790
- - `node-jose` dependency bumped to major ^1.0.0 - fixes `A\d{3}GCMKW` symmetrical encryption support
791
- - dependency updates
792
-
793
- ## Version 2.0.x
794
- ### Version 2.0.4
795
- - 2018-05-25 [DIFF](https://github.com/panva/node-openid-client/compare/v2.0.3...v2.0.4)
796
- - fixed circular when serializing OpenIdConnectError
797
- - base64url dependency update
798
-
799
- ### Version 2.0.3
800
- - 2018-05-15 [DIFF](https://github.com/panva/node-openid-client/compare/v2.0.2...v2.0.3)
801
- - base64url dependency replaced
802
-
803
- ### Version 2.0.2
804
- - 2018-05-10 [DIFF](https://github.com/panva/node-openid-client/compare/v2.0.1...v2.0.2)
805
- - dependency tree updates
806
-
807
- ### Version 2.0.1
808
- - 2018-04-26 [DIFF](https://github.com/panva/node-openid-client/compare/v2.0.0...v2.0.1)
809
- - fixed `client_secret_basic` requiring the username and password tokens to be `x-www-form-urlencoded`
810
- according to https://tools.ietf.org/html/rfc6749#section-2.3.1
811
- - NOTE: Although technically a fix, this is a breaking change when used with providers that also
812
- don't currently follow the standard. A proper way of submitting client_id and client_secret using
813
- `client_secret_basic` is `Authorization: base64(formEncode(client_id):formEncode(client_secret))`.
814
- If your client_id and client_secret does contain special characters that need encoding this does not
815
- affect you. If it does, try using `client_secret_post` instead.
816
-
817
- ### Version 2.0.0
818
- - 2018-04-12 [DIFF](https://github.com/panva/node-openid-client/compare/v1.20.0...v2.0.0)
819
- - dropped support for Node.js v4.x due to its End-of-Life on [2018-04-30](https://github.com/nodejs/Release)
820
- - removed deprecated `client#grantAuth`
821
- - removed deprecated way of passing keystore directly to `Client#register`
822
- - removed support for passing client to `OpenIDConnectStrategy` as single argument, use
823
- `new Strategy({ client })` instead of `new Strategy(client)`.
824
- - fixed a bug requiring nonce to be passed for `response_type=none`
825
-
826
- ## Version 1.20.0
827
- - 2018-03-13 [DIFF](https://github.com/panva/node-openid-client/compare/v1.19.5...v1.20.0)
828
- - added documentation for `OpenIdConnectError`
829
- - added `error_uri` from IdP responses to `OpenIdConnectError` instances
830
- - fixed `OpenIdConnectError` messages to include `error_description`
831
-
832
- ## Version 1.19.x
833
- ### Version 1.19.5
834
- - 2018-03-10 [DIFF](https://github.com/panva/node-openid-client/compare/v1.19.4...v1.19.5)
835
- - `Issuer.discover` now parses the provided URI instead of just inspecting the string. #80
836
-
837
- ### Version 1.19.4
838
- - 2018-01-30 [DIFF](https://github.com/panva/node-openid-client/compare/v1.19.3...v1.19.4)
839
- - fixed edge cases of (and simplified) private id token decryption method
840
-
841
- ### Version 1.19.3
842
- - 2018-01-22 [DIFF](https://github.com/panva/node-openid-client/compare/v1.19.2...v1.19.3)
843
- - fix return values of `#authorizationCallback()` for `response_type=none` to resolve a TokenSet
844
-
845
- ### Version 1.19.2
846
- - 2018-01-16 [DIFF](https://github.com/panva/node-openid-client/compare/v1.19.1...v1.19.2)
847
- - fixed `authorizationUrl` to respect existing issuer authorization_endpoint query parameters
848
-
849
- ### Version 1.19.1
850
- - 2018-01-15 [DIFF](https://github.com/panva/node-openid-client/compare/v1.19.0...v1.19.1)
851
- - adjusted the passport state mismatch related error message to hint developers at a local setup
852
- issue
853
-
854
- ### Version 1.19.0
855
- - 2017-12-12 [DIFF](https://github.com/panva/node-openid-client/compare/v1.18.2...v1.19.0)
856
- - added maintained request wrapper and a simple api to use request instead of `got`
857
-
858
- ## Version 1.18.x
859
- ### Version 1.18.2
860
- - 2017-12-05 [DIFF](https://github.com/panva/node-openid-client/compare/v1.18.1...v1.18.2)
861
- - bumped node-jose dependency
862
-
863
- ### Version 1.18.1
864
- - 2017-11-25 [DIFF](https://github.com/panva/node-openid-client/compare/v1.18.0...v1.18.1)
865
- - fixed the order of several `assert.equal` calls to swap actual/expected descriptions
866
- - added assertion error messages for passport strategy
867
-
868
- ### Version 1.18.0
869
- - 2017-11-19 [DIFF](https://github.com/panva/node-openid-client/compare/v1.17.0...v1.18.0)
870
- - added option for the passport strategy to use PKCE
871
- - updated http request library `got` dependency
872
-
873
- ## Version 1.17.0
874
- - 2017-10-31 [DIFF](https://github.com/panva/node-openid-client/compare/v1.16.0...v1.17.0)
875
- - now uses `client_secret_post` as default for Issuer instances that do not support
876
- `client_secret_basic` but do signal support for `client_secret_post` in their discovery document
877
-
878
- ## Version 1.16.0
879
- - 2017-10-13 [DIFF](https://github.com/panva/node-openid-client/compare/v1.15.0...v1.16.0)
880
- - added `s_hash` value validation support for ID Tokens returned by authorization endpoint
881
- - fixed edge cases where valid `_hash` but from invalid sha-length was accepted
882
-
883
- ## Version 1.15.0
884
- - 2017-09-11 [DIFF](https://github.com/panva/node-openid-client/compare/v1.14.0...v1.15.0)
885
- - added support for Request Objects encrypted with symmetrical keys
886
- - fixed PBES2 encryption to use client_secret derived symmetrical key instead of its full octet value
887
-
888
- ## Version 1.14.0
889
- - 2017-09-09 [DIFF](https://github.com/panva/node-openid-client/compare/v1.13.0...v1.14.0)
890
- - added Passport Strategy `passReqToCallback` option, defaults to false
891
-
892
- ## Version 1.13.0
893
- - 2017-08-24 [DIFF](https://github.com/panva/node-openid-client/compare/v1.12.1...v1.13.0)
894
- - added an optional keystore argument to `Client#fromUri(uri, token, [keystore])` to pass a keystore
895
- with private asymmetrical keys
896
- - fixed keystore check during constructor `Client#new` calls to check that only private asymmetrical
897
- keys are added
898
-
899
- ## Version 1.12.0
900
- ### Version 1.12.1
901
- - 2017-08-11 [DIFF](https://github.com/panva/node-openid-client/compare/v1.12.0...v1.12.1)
902
- - explicitly specified accepted response type via `accept: application/json` header
903
- - added state to token_endpoint calls for servers supporting mixup mitigation
904
-
905
- ### Version 1.12.0
906
- - 2017-07-17 [DIFF](https://github.com/panva/node-openid-client/compare/v1.11.1...v1.12.0)
907
- - Allow session key to be specified in passport strategy options
908
-
909
- ## Version 1.11.0
910
- ### Version 1.11.1
911
- - 2017-07-14 [DIFF](https://github.com/panva/node-openid-client/compare/v1.11.0...v1.11.1)
912
- - relaxed #callbackParams to allow IncomingMessage lookalikes
913
- - update internal dependencies
914
-
915
- ### Version 1.11.0
916
- - 2017-05-19 [DIFF](https://github.com/panva/node-openid-client/compare/v1.10.0...v1.11.0)
917
- - fixed default application_type from `['web']` to `'web'`
918
- - added barebones `Issuer.httpClient` setter to help advanced developers in complex environments
919
- to change the used http request client
920
-
921
- ## Version 1.10.0
922
- - 2017-05-04 [DIFF](https://github.com/panva/node-openid-client/compare/v1.9.0...v1.10.0)
923
- - added pure OAuth 2.0 stripped down callback function `#oauthCallback`
924
- - added an extra option for `#userinfo` requests to have extra params in either query or body
925
-
926
- ## Version 1.9.0
927
- - 2017-04-30 [DIFF](https://github.com/panva/node-openid-client/compare/v1.8.2...v1.9.0)
928
- - added introspection/revocation specific client and issuer properties. To remain backwards
929
- compatible they default to their token endpoint counterparts
930
- - issuer.revocation_endpoint_auth_methods_supported
931
- - issuer.introspection_endpoint_auth_methods_supported
932
- - issuer.revocation_endpoint_auth_signing_alg_values_supported
933
- - issuer.introspection_endpoint_auth_signing_alg_values_supported
934
- - client.revocation_endpoint_auth_method
935
- - client.introspection_endpoint_auth_method
936
- - client.revocation_endpoint_auth_signing_alg
937
- - client.introspection_endpoint_auth_signing_alg
938
-
939
- ## Version 1.8.0
940
- ### Version 1.8.2
941
- - 2017-04-29 [DIFF](https://github.com/panva/node-openid-client/compare/v1.8.0...v1.8.2)
942
- - bumped node-jose dependency to avoid github tar.gz dependencies
943
- - adjusted token_endpoint_auth_method=none to how it should be
944
-
945
- ### Version 1.8.0
946
- - 2017-04-07 [DIFF](https://github.com/panva/node-openid-client/compare/v1.7.2...v1.8.0)
947
- - Issuer and Client now recognize custom properties, this is so that new Registry Contents do not
948
- require a new release of openid-client to be picked up. Custom properties are exposed as getters
949
- so long as they do not interfere with the object's Prototype and they are always available in
950
- `#metadata` getter.
951
-
952
- ## Version 1.7.0
953
- ### Version 1.7.2
954
- - 2017-03-28 [DIFF](https://github.com/panva/node-openid-client/compare/v1.7.1...v1.7.2)
955
- - added missing check for webfinger issuer location protocol
956
-
957
- ### Version 1.7.1
958
- - 2017-03-28 [DIFF](https://github.com/panva/node-openid-client/compare/v1.6.4...v1.7.1)
959
- - added authorizationCallback support for submitting code_verifier
960
- - example now includes session management OP and RP frames
961
-
962
- 1.7.0 failed to publish properly, use 1.7.1 instead
963
-
964
- ## Version 1.6.0
965
- ### Version 1.6.4
966
- - 2017-03-14 [DIFF](https://github.com/panva/node-openid-client/compare/v1.6.3...v1.6.4)
967
- - fixed receiving (correct) empty responses from revocation endpoints (#21)
968
-
969
- ### Version 1.6.3
970
- - 2017-03-14 [DIFF](https://github.com/panva/node-openid-client/compare/v1.6.2...v1.6.3)
971
- - bumped minimum node-jose version to cover http://blog.intothesymmetry.com/2017/03/critical-vulnerability-in-json-web.html
972
-
973
- ### Version 1.6.2
974
- - 2017-03-09 [DIFF](https://github.com/panva/node-openid-client/compare/v1.6.1...v1.6.2)
975
- - fixed verify callback skipping userinfo when userinfo_endpoint is not configured (#19)
976
- - removed mandatory checks from passport strategy, allowing i.e. implicit only OPs (#19)
977
-
978
- ### Version 1.6.1
979
- - 2017-03-07 [DIFF](https://github.com/panva/node-openid-client/compare/v1.6.0...v1.6.1)
980
- - fixed verify callback skipping userinfo call when arity says it should but no access token is present (#18)
981
-
982
- ### Version 1.6.0
983
- - 2017-02-15 [DIFF](https://github.com/panva/node-openid-client/compare/v1.5.3...v1.6.0)
984
- - added at_hash presence assertion for applicable (implicit) ID Token validation
985
- - added c_hash presence assertion for applicable (hybrid) ID Token validation from the authorization_endpoint
986
-
987
- ## Version 1.5.0
988
- ### Version 1.5.3
989
- - 2017-02-15 [DIFF](https://github.com/panva/node-openid-client/compare/v1.5.2...v1.5.3)
990
- - fixed an ID Token validation for ID Token returned by Token Endpoint that includes c_hash
991
-
992
- ### Version 1.5.2
993
- - 2017-02-01 [DIFF](https://github.com/panva/node-openid-client/compare/v1.5.1...v1.5.2)
994
- - fixed passport strategy, have it use prototype instead of ES6 class syntax
995
-
996
- ### Version 1.5.1
997
- - 2017-01-29 [DIFF](https://github.com/panva/node-openid-client/compare/v1.5.0...v1.5.1)
998
- - fixed client_assertion aud claim for `_jwt` auth methods when used in introspection and revocation
999
-
1000
- ### Version 1.5.0
1001
- - 2017-01-26 [DIFF](https://github.com/panva/node-openid-client/compare/v1.4.0...v1.5.0)
1002
- - added a passport.js strategy
1003
- - added missing max_age, default_max_age related functionality
1004
- - authorizationCallback now supports max_age check
1005
- - clients with default_max_age use this default value automatically
1006
- - when max_age is checked auth_time claim is mandatory and must be a number
1007
- - added missing require_auth_time related functionality
1008
- - clients with require_auth_time = true have the presence and format of auth_time claim validated
1009
- - authorizationUrl and authorizationPost now removes null and undefined values and ensures parameters
1010
- are stringified before passed to url.format
1011
- - added client.CLOCK_TOLERANCE property, to allow for clock skew (in seconds)
1012
-
1013
- ## Version 1.4.0
1014
- - 2017-01-10 [DIFF](https://github.com/panva/node-openid-client/compare/v1.3.1...v1.4.0)
1015
- - deprecated passing keystore directly to Client#register, pass an object with keystore property instead
1016
- - added the option to provide InitialAccessToken value to Client#register
1017
-
1018
- ## Version 1.3.0
1019
- ### Version 1.3.1
1020
- - 2016-12-18 [DIFF](https://github.com/panva/node-openid-client/compare/v1.3.0...v1.3.1)
1021
- - added error messages when expected response is missing
1022
-
1023
- ### Version 1.3.0
1024
- - 2016-12-13 [DIFF](https://github.com/panva/node-openid-client/compare/v1.2.0...v1.3.0)
1025
- - added `#requestObject` method to Client to return signed and/or encrypted Request Object
1026
-
1027
- ## Version 1.2.0
1028
- - 2016-12-09 [DIFF](https://github.com/panva/node-openid-client/compare/v1.1.0...v1.2.0)
1029
- - added `#claims` getter to TokenSets returned from `authorizationCallback` and `refresh`;
1030
-
1031
- ## Version 1.1.0
1032
- - 2016-11-23 [DIFF](https://github.com/panva/node-openid-client/compare/v1.0.2...v1.1.0)
1033
- - fixed unpacking aggregated claims with alg=none and no iss claim
1034
- - fetching distributed claims now expects a JWT response, previously expected invalid OP responses
1035
-
1036
- ## Version 1.0.0
1037
- ### Version 1.0.2
1038
- - 2016-11-22 [DIFF](https://github.com/panva/node-openid-client/compare/v1.0.1...v1.0.2)
1039
- - fixed signed userinfo response validation in case iss, aud and similar ID Token claims are missing
1040
-
1041
- ### Version 1.0.1
1042
- - 2016-11-18 [DIFF](https://github.com/panva/node-openid-client/compare/v1.0.0...v1.0.1)
1043
- - Updated uuid dependency
1044
-
1045
- ### Version 1.0.0
1046
- RP test tools are passing, no changes required from the library, API is declared stable, hence 1.0.0
1047
- release.
1048
-
1049
- - 2016-11-16 [DIFF](https://github.com/panva/node-openid-client/compare/v0.7.0...v1.0.0)
1050
- - See [1.x migration](#migrating-from-0x-to-10) to update your 0.x deployment into 1.x.
1051
-
1052
- ## Migrating from 0.x to 1.0
1053
-
1054
- 1. update your package.json file to `"^1.0.0"`
1055
- 2. sit back and relax, no breaking changes
1056
-
1057
- ## pre 1.x changelog
1058
-
1059
- 4. Major version zero (0.y.z) is for initial development. Anything may change at any time.
1060
- The public API should not be considered stable.
1061
-
1062
- 5. Version 1.0.0 defines the public API.
1063
-
1064
- - https://github.com/panva/node-openid-client/compare/v0.6.0...v0.7.0
1065
- - added: webfinger discovery
1066
- - added: callback parameter helper for node's http.IncomingMessage
1067
- - tested for lts/argon (4), lts/boron (6) and current stable (7)
1068
- - https://github.com/panva/node-openid-client/compare/v0.5.4...v0.6.0
1069
- - added: handling of symmetrically encrypted responses (A...GCMKW, A...KW, PBES2-HS...+A...KW)
1070
- - fix: state check supersedes error check, still not sure about it though
1071
- - https://github.com/panva/node-openid-client/compare/v0.5.0...v0.5.4
1072
- - added: token_type_hint for introspection and revocation
1073
- - fix: handle refresh w/o id_token
1074
- - fix: ignore nonce values when refreshing w/ id_token
1075
- - fix: validateIdToken only checks at_hash and c_hash values when TokenSet is passed in
1076
- - fix: session_state now part of returned TokenSet
1077
- - https://github.com/panva/node-openid-client/compare/v0.4.1...v0.5.0
1078
- - aggregated and distributed claim handling
1079
- - https://github.com/panva/node-openid-client/compare/v0.3.0...v0.4.1
1080
- - fix: issuer with path component discovery
1081
- - built-in signed and/or encrypted userinfo handling
1082
- - authorizationCallback handling of implicit and hybrid responses
1083
- - https://github.com/panva/node-openid-client/compare/v0.2.0...v0.3.0
1084
- - encrypted userinfo and idtoken response handling
1085
- - https://github.com/panva/node-openid-client/compare/v0.1.0...v0.2.0
1086
- - httpOptions configurable on a library level
1087
- - signed userinfo response handling