openid-client 6.0.0-beta.0 → 6.0.0-beta.2

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/README.md CHANGED
@@ -1,6 +1,8 @@
1
- # High-Level OAuth 2 / OpenID Connect Client API for JavaScript Runtimes
1
+ # openid-client
2
2
 
3
- TODO
3
+ > High-Level OAuth 2 / OpenID Connect Client API for JavaScript Runtimes
4
+
5
+ openid-client simplifies integration with authorization servers by providing easy-to-use APIs for the most common authentication and authorization flows, including OAuth 2 and OpenID Connect. It is designed for JavaScript runtimes like Node.js, Browsers, Deno, Cloudflare Workers, and more.
4
6
 
5
7
  ## Features
6
8
 
@@ -15,6 +17,7 @@ The following features are currently in scope and implemented in this software:
15
17
  - UserInfo and Protected Resource Requests
16
18
  - Authorization Server Issuer Identification
17
19
  - JWT Secured Introspection, Response Mode (JARM), Authorization Request (JAR), and UserInfo
20
+ - [Passport](https://www.passportjs.org/) Strategy
18
21
 
19
22
  ## Sponsor
20
23
 
@@ -36,14 +39,33 @@ If you want to quickly add authentication to JavaScript apps, feel free to check
36
39
 
37
40
  Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by [becoming a sponsor](https://github.com/sponsors/panva).
38
41
 
39
- ## Quick start
42
+ ## [API Reference Documentation](docs/README.md)
43
+
44
+ `openid-client` is distributed via [npmjs.com](https://www.npmjs.com/package/openid-client) and [github.com](https://github.com/panva/openid-client).
45
+
46
+ ## [Examples](examples/README.md)
47
+
48
+ **`example`** ESM import
40
49
 
41
50
  ```ts
42
51
  import * as client from 'openid-client'
52
+ ```
53
+
54
+ - Authorization Code Flow (OAuth 2.0) - [source](examples/oauth.ts)
55
+ - Authorization Code Flow (OpenID Connect) - [source](examples/oidc.ts) | [diff](examples/oidc.diff)
56
+ - Extensions
57
+ - JWT Secured Authorization Request (JAR) - [source](examples/jar.ts) | [diff](examples/jar.diff)
58
+ - JWT Secured Authorization Response Mode (JARM) - [source](examples/jarm.ts) | [diff](examples/jarm.diff)
59
+ - Pushed Authorization Request (PAR) - [source](examples/par.ts) | [diff](examples/par.diff)
60
+ - Passport Strategy - [source](passport.ts)
61
+
62
+ ## Quick start
63
+
64
+ ```ts
65
+ let server!: URL // Authorization Server's Issuer Identifier
66
+ let clientId!: string // Client identifier at the Authorization Server
67
+ let clientSecret!: string // Client Secret
43
68
 
44
- let server!: URL
45
- let clientId!: string
46
- let clientSecret!: string
47
69
  let config: client.Configuration = await client.discovery(
48
70
  server,
49
71
  clientId,
@@ -62,13 +84,13 @@ to.
62
84
 
63
85
  ```ts
64
86
  /**
65
- * Value used in the authorization request as redirect_uri pre-registered at the
66
- * Authorization Server.
87
+ * Value used in the authorization request as the redirect_uri parameter, this
88
+ * is typically pre-registered at the Authorization Server.
67
89
  */
68
90
  let redirect_uri!: string
69
- let scope!: string
91
+ let scope!: string // Scope of the access request
70
92
  /**
71
- * The following MUST be generated for every redirect to the
93
+ * PKCE: The following MUST be generated for every redirect to the
72
94
  * authorization_endpoint. You must store the code_verifier and state in the
73
95
  * end-user session such that it can be recovered as the user gets redirected
74
96
  * from the authorization server back to your application.
@@ -92,7 +114,8 @@ if (
92
114
  /**
93
115
  * We cannot be sure the server supports PKCE so we're going to use state too.
94
116
  * Use of PKCE is backwards compatible even if the AS doesn't support it which
95
- * is why we're using it regardless.
117
+ * is why we're using it regardless. Like PKCE, random state must be generated
118
+ * for every redirect to the authorization_endpoint.
96
119
  */
97
120
  state = client.randomState()
98
121
  parameters.state = state
@@ -104,8 +127,8 @@ let redirectTo: URL = client.buildAuthorizationUrl(config, parameters)
104
127
  console.log('redirecting to', redirectTo.href)
105
128
  ```
106
129
 
107
- When end-users are redirected back to your `redirect_uri` your application consumes the callback and
108
- passes in the `code_verifier` to include it in the authorization code grant token exchange.
130
+ When end-users are redirected back to the `redirect_uri` your application consumes the callback and
131
+ passes in PKCE `code_verifier` to include it in the authorization code grant token exchange.
109
132
 
110
133
  ```ts
111
134
  let getCurrentUrl!: (...args: any) => URL
@@ -141,7 +164,8 @@ console.log(
141
164
  ### Device Authorization Grant (Device Flow)
142
165
 
143
166
  ```ts
144
- let scope!: string
167
+ let scope!: string // Scope of the access request
168
+
145
169
  let response = await client.initiateDeviceAuthorization(config, { scope })
146
170
 
147
171
  console.log('User Code:', response.user_code)
@@ -166,8 +190,8 @@ This will poll in a regular interval and only resolve with tokens once the end-u
166
190
  Client Credentials flow is for obtaining Access Tokens to use with third party APIs on behalf of your application, rather than an end-user which was the case in previous examples.
167
191
 
168
192
  ```ts
169
- let scope!: string
170
- let resource!: string
193
+ let scope!: string // Scope of the access request
194
+ let resource!: string // Resource Indicator of the Resource Server the access token is for
171
195
 
172
196
  let tokens: client.TokenEndpointResponse = await lib.clientCredentialsGrant(
173
197
  config,
@@ -177,25 +201,6 @@ let tokens: client.TokenEndpointResponse = await lib.clientCredentialsGrant(
177
201
  console.log('Token Endpoint Response', tokens)
178
202
  ```
179
203
 
180
- ## [API Reference](docs/README.md)
181
-
182
- `openid-client` is distributed via [npmjs.com](https://www.npmjs.com/package/openid-client) and [github.com](https://github.com/panva/openid-client).
183
-
184
- ## [Examples](examples/README.md)
185
-
186
- **`example`** ESM import
187
-
188
- ```ts
189
- import * as client from 'openid-client'
190
- ```
191
-
192
- - Authorization Code Flow (OAuth 2.0) - [source](examples/oauth.ts)
193
- - Authorization Code Flow (OpenID Connect) - [source](examples/oidc.ts) | [diff](examples/oidc.diff)
194
- - Extensions
195
- - JWT Secured Authorization Request (JAR) - [source](examples/jar.ts) | [diff](examples/jar.diff)
196
- - JWT Secured Authorization Response Mode (JARM) - [source](examples/jarm.ts) | [diff](examples/jarm.diff)
197
- - Pushed Authorization Request (PAR) - [source](examples/par.ts) | [diff](examples/par.diff)
198
-
199
204
  ## Supported Runtimes
200
205
 
201
206
  The supported JavaScript runtimes include those that support the utilized Web API globals and standard built-in objects. These are _(but are not limited to)_:
package/build/index.d.ts CHANGED
@@ -492,44 +492,6 @@ export declare const customFetch: typeof oauth.customFetch;
492
492
  *
493
493
  * @example
494
494
  *
495
- * Changing Private Key JWT client assertion audience issued from a string to an
496
- * array
497
- *
498
- * ```ts
499
- * let key!: client.CryptoKey | client.PrivateKey
500
- * let aud!: string[]
501
- *
502
- * let clientAuth = client.PrivateKeyJwt(key, {
503
- * [client.modifyAssertion](header, payload) {
504
- * payload.aud = aud
505
- * },
506
- * })
507
- * ```
508
- *
509
- * @example
510
- *
511
- * Changing Request Object issued by {@link buildAuthorizationUrlWithJAR} to have
512
- * an expiration of 5 minutes
513
- *
514
- * ```ts
515
- * let key!: client.CryptoKey | client.PrivateKey
516
- * let config!: client.Configuration
517
- * let parameters!: URLSearchParams
518
- *
519
- * let redirectTo = client.buildAuthorizationUrlWithJAR(
520
- * config,
521
- * parameters,
522
- * key,
523
- * {
524
- * [client.modifyAssertion](header, payload) {
525
- * payload.exp = <number>payload.iat + 300
526
- * },
527
- * },
528
- * )
529
- * ```
530
- *
531
- * @example
532
- *
533
495
  * Changing the `alg: "Ed25519"` back to `alg: "EdDSA"`
534
496
  *
535
497
  * ```ts
@@ -1428,13 +1390,9 @@ export interface AuthorizationCodeGrantChecks {
1428
1390
  * )
1429
1391
  * ```
1430
1392
  *
1431
- * @param currentUrl Current URL the Authorization Server provided an
1432
- * Authorization Response to, the `redirect_uri`
1433
- * {@link !"Authorization Code Grant"} parameter is extracted from this URL by
1434
- * stripping the query string parameters and fragment components. The
1435
- * authorization response parameters are typically expected to be encoded in
1436
- * its query string, and for `code id_token` {@link !OIDC} Response Types in
1437
- * the URL's fragment.
1393
+ * @param currentUrl Current {@link !URL} the Authorization Server provided an
1394
+ * Authorization Response to or a {@link !Request}, the
1395
+ * {@link !"Authorization Code Grant"} parameters are extracted from this.
1438
1396
  * @param checks CSRF Protection checks like PKCE, expected state, or expected
1439
1397
  * nonce
1440
1398
  * @param parameters Additional parameters that will be sent to the token
@@ -1448,7 +1406,7 @@ export interface AuthorizationCodeGrantChecks {
1448
1406
  * @group PKCE
1449
1407
  * @group You are probably looking for this
1450
1408
  */
1451
- export declare function authorizationCodeGrant(config: Configuration, currentUrl: URL, checks?: AuthorizationCodeGrantChecks, parameters?: URLSearchParams | Record<string, string>, options?: AuthorizationCodeGrantOptions): Promise<oauth.TokenEndpointResponse & TokenEndpointResponseHelpers>;
1409
+ export declare function authorizationCodeGrant(config: Configuration, currentUrl: URL | Request, checks?: AuthorizationCodeGrantChecks, parameters?: URLSearchParams | Record<string, string>, options?: AuthorizationCodeGrantOptions): Promise<oauth.TokenEndpointResponse & TokenEndpointResponseHelpers>;
1452
1410
  /**
1453
1411
  * Performs an OAuth 2.0 {@link !"Refresh Token Grant"} at the Authorization
1454
1412
  * Server's {@link ServerMetadata.token_endpoint token endpoint} using parameters
package/build/index.js CHANGED
@@ -517,10 +517,20 @@ function stripParams(url) {
517
517
  url.hash = '';
518
518
  return url.href;
519
519
  }
520
+ function webInstanceOf(input, toStringTag) {
521
+ try {
522
+ return Object.getPrototypeOf(input)[Symbol.toStringTag] === toStringTag;
523
+ }
524
+ catch {
525
+ return false;
526
+ }
527
+ }
520
528
  export async function authorizationCodeGrant(config, currentUrl, checks, parameters, options) {
521
529
  checkConfig(config);
522
- if (options?.flag !== retry && !(currentUrl instanceof URL)) {
523
- throw CodedTypeError('"currentUrl" must be an instance of URL', ERR_INVALID_ARG_TYPE);
530
+ if (options?.flag !== retry &&
531
+ !(currentUrl instanceof URL) &&
532
+ !webInstanceOf(currentUrl, 'Request')) {
533
+ throw CodedTypeError('"currentUrl" must be an instance of URL, or Request', ERR_INVALID_ARG_TYPE);
524
534
  }
525
535
  let authResponse;
526
536
  let redirectUri;
@@ -530,13 +540,20 @@ export async function authorizationCodeGrant(config, currentUrl, checks, paramet
530
540
  redirectUri = options.redirectUri;
531
541
  }
532
542
  else {
543
+ let request;
544
+ if (!(currentUrl instanceof URL)) {
545
+ if (currentUrl.method === 'POST') {
546
+ request = currentUrl;
547
+ }
548
+ currentUrl = new URL(currentUrl.url);
549
+ }
533
550
  redirectUri = stripParams(currentUrl);
534
551
  switch (true) {
535
552
  case !!jarm:
536
- authResponse = await jarm(currentUrl.searchParams, checks?.expectedState);
553
+ authResponse = await jarm(currentUrl, checks?.expectedState);
537
554
  break;
538
555
  case !!hybrid:
539
- authResponse = await hybrid(new URLSearchParams(currentUrl.hash.slice(1)), checks?.expectedNonce, checks?.expectedState, checks?.maxAge);
556
+ authResponse = await hybrid(request || currentUrl, checks?.expectedNonce, checks?.expectedState, checks?.maxAge);
540
557
  break;
541
558
  default:
542
559
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import * as client from './index.js';
2
+ import type { PrivateKey } from 'oauth4webapi';
3
+ import type * as express from 'express';
4
+ import type passport from 'passport';
5
+ export type VerifyFunction = (
6
+ /**
7
+ * Parsed Token Endpoint Response returned by the authorization server with
8
+ * attached helpers.
9
+ */
10
+ tokens: client.TokenEndpointResponse & client.TokenEndpointResponseHelpers, verified: passport.AuthenticateCallback) => void;
11
+ export type VerifyFunctionWithRequest = (req: express.Request,
12
+ /**
13
+ * Parsed Token Endpoint Response returned by the authorization server with
14
+ * attached helpers.
15
+ */
16
+ tokens: client.TokenEndpointResponse & client.TokenEndpointResponseHelpers, verified: passport.AuthenticateCallback) => void;
17
+ /**
18
+ * Retrieve an openid-client DPoPHandle for a given request.
19
+ */
20
+ export type getDPoPHandle = (req: express.Request) => client.DPoPHandle;
21
+ interface StrategyOptionsBase {
22
+ /**
23
+ * Openid-client Configuration instance.
24
+ */
25
+ config: client.Configuration;
26
+ /**
27
+ * Name of the strategy, default is the host component of the authorization
28
+ * server's issuer identifier.
29
+ */
30
+ name?: string;
31
+ /**
32
+ * Property in the session to use for storing the authorization request state,
33
+ * default is the host component of the authorization server's issuer
34
+ * identifier.
35
+ */
36
+ sessionKey?: string;
37
+ /**
38
+ * Function used to retrieve an openid-client DPoPHandle for a given request,
39
+ * when provided the strategy will use DPoP where applicable.
40
+ */
41
+ DPoP?: getDPoPHandle;
42
+ /**
43
+ * URL to which the authorization server will redirect the user after
44
+ * obtaining authorization. This will be used as the `redirect_uri`
45
+ * authorization request parameter unless specified elsewhere.
46
+ */
47
+ callbackURL?: string;
48
+ /**
49
+ * Authorization Request Scope. This will be used as the `scope` authorization
50
+ * request parameter unless specified elsewhere.
51
+ */
52
+ scope?: string;
53
+ /**
54
+ * Whether the strategy will use PAR. Default is `false`.
55
+ */
56
+ usePAR?: boolean;
57
+ /**
58
+ * Whether the strategy will use JAR. Its value can be a private key to sign
59
+ * with or an array with the private key and a modify assertion function that
60
+ * will be used to modify the request object before it is signed. Default is
61
+ * `false`.
62
+ */
63
+ useJAR?: false | client.CryptoKey | PrivateKey | [client.CryptoKey | PrivateKey, client.ModifyAssertionFunction];
64
+ /**
65
+ * Whether the verify function should get the `req` as first argument instead.
66
+ * Default is `false`.
67
+ */
68
+ passReqToCallback?: boolean;
69
+ }
70
+ export interface StrategyOptions extends StrategyOptionsBase {
71
+ passReqToCallback?: false;
72
+ }
73
+ export interface StrategyOptionsWithRequest extends StrategyOptionsBase {
74
+ passReqToCallback: true;
75
+ }
76
+ export declare class Strategy implements passport.Strategy {
77
+ /**
78
+ * Name of the strategy
79
+ */
80
+ readonly name: string;
81
+ constructor(options: StrategyOptions, verify: VerifyFunction);
82
+ constructor(options: StrategyOptionsWithRequest, verify: VerifyFunctionWithRequest);
83
+ /**
84
+ * Return extra parameters to be included an authorization request.
85
+ */
86
+ authorizationRequestParams<TOptions extends passport.AuthenticateOptions = passport.AuthenticateOptions>(_req: express.Request, _options: TOptions): URLSearchParams | Record<string, string> | undefined;
87
+ /**
88
+ * Return extra parameters to be included in the authorization code grant
89
+ * token endpoint request.
90
+ */
91
+ authorizationCodeGrantParameters<TOptions extends passport.AuthenticateOptions = passport.AuthenticateOptions>(_req: express.Request, _options: TOptions): URLSearchParams | Record<string, string> | undefined;
92
+ /**
93
+ * Return the current request URL.
94
+ *
95
+ * - Its `searchParams` are used as the authorization response parameters when
96
+ * the response type used by the client is `code`
97
+ * - Its value stripped of `searchParams` and `hash` is used as the
98
+ * `redirect_uri` authorization code grant token endpoint parameter unless
99
+ * callbackURL was specified in the Strategy constructor
100
+ */
101
+ currentUrl(req: express.Request): URL;
102
+ authenticate<TOptions extends passport.AuthenticateOptions = passport.AuthenticateOptions>(this: passport.StrategyCreated<Strategy, Strategy & passport.StrategyCreatedStatic>, req: express.Request, options: TOptions): void;
103
+ }
104
+ export {};
@@ -0,0 +1,167 @@
1
+ import * as client from './index.js';
2
+ export class Strategy {
3
+ name;
4
+ _config;
5
+ _verify;
6
+ _callbackURL;
7
+ _sessionKey;
8
+ _passReqToCallback;
9
+ _proxy;
10
+ _usePAR;
11
+ _useJAR;
12
+ _DPoP;
13
+ _scope;
14
+ constructor(options, verify) {
15
+ if (!(options?.config instanceof client.Configuration)) {
16
+ throw new TypeError();
17
+ }
18
+ if (typeof verify !== 'function') {
19
+ throw new TypeError();
20
+ }
21
+ const { host } = new URL(options.config.serverMetadata().issuer);
22
+ this.name = options.name ?? host;
23
+ this._sessionKey = options.sessionKey ?? host;
24
+ this._DPoP = options.DPoP;
25
+ this._config = options.config;
26
+ this._scope = options.scope;
27
+ this._useJAR = options.useJAR;
28
+ this._usePAR = options.usePAR;
29
+ this._verify = verify;
30
+ this._callbackURL = options.callbackURL;
31
+ this._passReqToCallback = options.passReqToCallback;
32
+ }
33
+ authorizationRequestParams(_req, _options) {
34
+ return {};
35
+ }
36
+ authorizationCodeGrantParameters(_req, _options) {
37
+ return {};
38
+ }
39
+ async authorizationRequest(req, options) {
40
+ try {
41
+ let redirectTo = client.buildAuthorizationUrl(this._config, new URLSearchParams(this.authorizationRequestParams(req, options)));
42
+ if (redirectTo.searchParams.get('response_type')?.includes('id_token')) {
43
+ redirectTo.searchParams.set('nonce', client.randomNonce());
44
+ }
45
+ const codeVerifier = client.randomPKCECodeVerifier();
46
+ const code_challenge = await client.calculatePKCECodeChallenge(codeVerifier);
47
+ redirectTo.searchParams.set('code_challenge', code_challenge);
48
+ redirectTo.searchParams.set('code_challenge_method', 'S256');
49
+ if (this._config
50
+ .serverMetadata()
51
+ .code_challenge_methods_supported?.includes('S256') !== true &&
52
+ !redirectTo.searchParams.has('nonce')) {
53
+ redirectTo.searchParams.set('state', client.randomState());
54
+ }
55
+ if (this._callbackURL && !redirectTo.searchParams.has('redirect_uri')) {
56
+ redirectTo.searchParams.set('redirect_uri', this._callbackURL);
57
+ }
58
+ if (this._scope && !redirectTo.searchParams.has('scope')) {
59
+ redirectTo.searchParams.set('scope', this._scope);
60
+ }
61
+ const sessionKey = this._sessionKey;
62
+ const stateData = { code_verifier: codeVerifier };
63
+ let nonce;
64
+ if ((nonce = redirectTo.searchParams.get('nonce'))) {
65
+ stateData.nonce = nonce;
66
+ }
67
+ let state;
68
+ if ((state = redirectTo.searchParams.get('state'))) {
69
+ stateData.state = state;
70
+ }
71
+ let max_age;
72
+ if ((max_age = redirectTo.searchParams.get('max_age'))) {
73
+ stateData.max_age = parseInt(max_age, 10);
74
+ }
75
+ ;
76
+ req.session[sessionKey] = stateData;
77
+ if (this._useJAR) {
78
+ let key;
79
+ let modifyAssertion;
80
+ if (Array.isArray(this._useJAR)) {
81
+ ;
82
+ [key, modifyAssertion] = this._useJAR;
83
+ }
84
+ else {
85
+ key = this._useJAR;
86
+ }
87
+ redirectTo = await client.buildAuthorizationUrlWithJAR(this._config, redirectTo.searchParams, key, { [client.modifyAssertion]: modifyAssertion });
88
+ }
89
+ if (this._usePAR) {
90
+ redirectTo = await client.buildAuthorizationUrlWithPAR(this._config, redirectTo.searchParams, { DPoP: this._DPoP?.(req) });
91
+ }
92
+ return this.redirect(redirectTo.href);
93
+ }
94
+ catch (err) {
95
+ return this.error(err);
96
+ }
97
+ }
98
+ async authorizationCodeGrant(req, currentUrl, options) {
99
+ try {
100
+ const sessionKey = this._sessionKey;
101
+ const stateData = req.session[sessionKey];
102
+ if (!stateData?.code_verifier) {
103
+ return this.fail({
104
+ message: 'Unable to verify authorization request state',
105
+ });
106
+ }
107
+ let input = currentUrl;
108
+ if (req.method === 'POST') {
109
+ input = new Request(currentUrl.href, {
110
+ method: 'POST',
111
+ headers: Object.entries(req.headersDistinct).reduce((acc, [key, values]) => {
112
+ for (const value of values) {
113
+ acc.append(key, value);
114
+ }
115
+ return acc;
116
+ }, new Headers()),
117
+ body: req,
118
+ duplex: 'half',
119
+ });
120
+ }
121
+ const tokens = await client.authorizationCodeGrant(this._config, input, {
122
+ pkceCodeVerifier: stateData.code_verifier,
123
+ expectedNonce: stateData.nonce,
124
+ expectedState: stateData.state,
125
+ maxAge: stateData.max_age,
126
+ }, this.authorizationCodeGrantParameters(req, options), { DPoP: this._DPoP?.(req) });
127
+ const verified = (err, user, info) => {
128
+ if (err)
129
+ return this.error(err);
130
+ if (!user)
131
+ return this.fail(info);
132
+ return this.success(user);
133
+ };
134
+ if (this._passReqToCallback) {
135
+ return this._verify(req, tokens, verified);
136
+ }
137
+ return this._verify(tokens, verified);
138
+ }
139
+ catch (err) {
140
+ if (err instanceof client.AuthorizationResponseError &&
141
+ err.error === 'access_denied') {
142
+ return this.fail({
143
+ message: err.error_description || err.error,
144
+ ...Object.fromEntries(err.cause.entries()),
145
+ });
146
+ }
147
+ return this.error(err);
148
+ }
149
+ }
150
+ currentUrl(req) {
151
+ return new URL(`${req.protocol}://${req.host}${req.url}`);
152
+ }
153
+ authenticate(req, options) {
154
+ if (!req.session) {
155
+ return this.error(new Error('OAuth 2.0 authentication requires session support. Did you forget to use express-session middleware?'));
156
+ }
157
+ const currentUrl = this.currentUrl(req);
158
+ if ((req.method === 'GET' && currentUrl.searchParams.size === 0) ||
159
+ (currentUrl.searchParams.size === 1 && currentUrl.searchParams.has('iss'))) {
160
+ Strategy.prototype.authorizationRequest.call(this, req, options);
161
+ }
162
+ else {
163
+ Strategy.prototype.authorizationCodeGrant.call(this, req, currentUrl, options);
164
+ }
165
+ }
166
+ }
167
+ //# sourceMappingURL=passport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport.js","sourceRoot":"","sources":["../src/passport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openid-client",
3
- "version": "6.0.0-beta.0",
3
+ "version": "6.0.0-beta.2",
4
4
  "description": "High-Level OAuth 2 / OpenID Connect Client API for JavaScript Runtimes",
5
5
  "keywords": [
6
6
  "access token",
@@ -29,6 +29,8 @@
29
29
  "oidc",
30
30
  "openid-connect",
31
31
  "openid",
32
+ "passport",
33
+ "strategy",
32
34
  "vercel",
33
35
  "workerd",
34
36
  "workers"
@@ -47,6 +49,10 @@
47
49
  "types": "./build/index.d.ts",
48
50
  "default": "./build/index.js"
49
51
  },
52
+ "./passport": {
53
+ "types": "./build/passport.d.ts",
54
+ "default": "./build/passport.js"
55
+ },
50
56
  "./package.json": "./package.json"
51
57
  },
52
58
  "main": "./build/index.js",
@@ -54,11 +60,14 @@
54
60
  "files": [
55
61
  "build/index.js",
56
62
  "build/index.js.map",
57
- "build/index.d.ts"
63
+ "build/index.d.ts",
64
+ "build/passport.js",
65
+ "build/passport.js.map",
66
+ "build/passport.d.ts"
58
67
  ],
59
68
  "scripts": {
60
69
  "_format": "find src test examples tap conformance -type f -name '*.ts' -o -name '*.mjs' -o -name '*.cjs' | xargs prettier --check",
61
- "build": "rm -rf build && tsc && tsc --removeComments false --declaration --emitDeclarationOnly && npm run --silent check-build",
70
+ "build": "rm -rf build && tsc && tsc --removeComments false --declaration --emitDeclarationOnly && tsc -p tsconfig.passport.json && tsc -p tsconfig.passport.json --removeComments false --declaration --emitDeclarationOnly && npm run --silent check-build",
62
71
  "check-build": "tsc --noEmit --types node --lib ES2022.Error && tsc -p conformance && tsc -p tap && tsc -p examples",
63
72
  "conformance": "bash -c 'source .node_flags.sh && ava --config conformance/ava.config.ts'",
64
73
  "docs": "patch-package && typedoc",
@@ -75,13 +84,17 @@
75
84
  "test": "bash -c 'source .node_flags.sh && ava'"
76
85
  },
77
86
  "dependencies": {
78
- "jose": "^5.9.3",
79
- "oauth4webapi": "^3.0.0"
87
+ "jose": "^5.9.4",
88
+ "oauth4webapi": "^3.1.0"
80
89
  },
81
90
  "devDependencies": {
82
91
  "@koa/cors": "^5.0.0",
92
+ "@types/connect-ensure-login": "^0.1.9",
93
+ "@types/cookie-parser": "^1.4.7",
94
+ "@types/express": "^4.17.21",
95
+ "@types/express-session": "^1.18.0",
83
96
  "@types/koa__cors": "^5.0.0",
84
- "@types/node": "^20.16.10",
97
+ "@types/node": "^20.16.11",
85
98
  "@types/passport": "^1.0.16",
86
99
  "@types/qunit": "^2.19.10",
87
100
  "archiver": "^7.0.1",
@@ -89,13 +102,12 @@
89
102
  "chrome-launcher": "^1.1.2",
90
103
  "edge-runtime": "^3.0.3",
91
104
  "esbuild": "^0.24.0",
92
- "jose": "^5.9.3",
93
105
  "ky": "^1.7.2",
94
106
  "oidc-provider": "^8.5.1",
95
107
  "patch-package": "^8.0.0",
96
108
  "prettier": "^3.3.3",
97
109
  "prettier-plugin-jsdoc": "^1.3.0",
98
- "puppeteer-core": "^23.5.1",
110
+ "puppeteer-core": "^23.5.3",
99
111
  "qunit": "^2.22.0",
100
112
  "raw-body": "^3.0.0",
101
113
  "selfsigned": "^2.4.1",
@@ -103,7 +115,7 @@
103
115
  "typedoc": "^0.26.8",
104
116
  "typedoc-plugin-markdown": "^4.2.9",
105
117
  "typedoc-plugin-mdn-links": "^3.3.2",
106
- "typescript": "^5.6.2",
107
- "undici": "^6.19.8"
118
+ "typescript": "^5.6.3",
119
+ "undici": "^6.20.0"
108
120
  }
109
121
  }