@oauth2-cli/qui-cli 1.1.2 → 1.2.0
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/CHANGELOG.md +15 -0
- package/dist/Client.d.ts +4 -3
- package/dist/Client.js +12 -4
- package/dist/OAuth2.d.ts +2 -2
- package/extendable/Client.d.ts +4 -3
- package/extendable/Client.js +12 -4
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.2.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/1.1.3...qui-cli-plugin/1.2.0) (2026-03-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added prepareRequest hook ([3deaaaa](https://github.com/battis/oauth2-cli/commit/3deaaaa1ec8939b507953f436f0cd500f01736e8))
|
|
11
|
+
* make URLSearchParams even more 'ish', accepting all JSON primitives ([b1c2a25](https://github.com/battis/oauth2-cli/commit/b1c2a25c29267c070070f7cd304bb31f854485e4))
|
|
12
|
+
|
|
13
|
+
## [1.1.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/1.1.2...qui-cli-plugin/1.1.3) (2026-03-04)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* allow requestish.Body.ish request bodies as intended ([f12a2ce](https://github.com/battis/oauth2-cli/commit/f12a2ceb1c517f6fd90b33c8c71da7f987af640d))
|
|
19
|
+
|
|
5
20
|
## [1.1.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/1.1.1...qui-cli-plugin/1.1.2) (2026-03-04)
|
|
6
21
|
|
|
7
22
|
|
package/dist/Client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { JSONValue } from '@battis/typescript-tricks';
|
|
|
2
2
|
import { Request } from 'express';
|
|
3
3
|
import * as OAuth2CLI from 'oauth2-cli';
|
|
4
4
|
import type * as OpenIDClient from 'openid-client';
|
|
5
|
-
import
|
|
5
|
+
import { Body, Headers, URL } from 'requestish';
|
|
6
6
|
/**
|
|
7
7
|
* Wrap {@link https://www.npmjs.com/package/openid-client openid-client} in a
|
|
8
8
|
* class instance specific to a particular OAuth/OpenID server credential-set,
|
|
@@ -19,6 +19,7 @@ export declare class Client<C extends OAuth2CLI.Credentials = OAuth2CLI.Credenti
|
|
|
19
19
|
handleAuthorizationCodeRedirect(request: Request, session: OAuth2CLI.Localhost.Server): Promise<OAuth2CLI.Token.Response>;
|
|
20
20
|
protected refreshTokenGrant({ refresh_token, inject }?: Parameters<OAuth2CLI.Client['refreshTokenGrant']>[0]): Promise<OAuth2CLI.Token.Response | undefined>;
|
|
21
21
|
protected save(response: OAuth2CLI.Token.Response): Promise<OAuth2CLI.Token.Response>;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
protected prepareRequest(config: OpenIDClient.Configuration, accessToken: string, url: URL, method: string, body?: OpenIDClient.FetchBody, headers?: Headers | undefined, options?: OpenIDClient.DPoPOptions | undefined): Promise<Parameters<(typeof OpenIDClient)['fetchProtectedResource']>>;
|
|
23
|
+
request(url: URL.ish, method?: string, body?: Body.ish, headers?: Headers.ish, dPoPOptions?: OpenIDClient.DPoPOptions): Promise<Response>;
|
|
24
|
+
requestJSON<J extends JSONValue = JSONValue>(url: URL.ish, method?: string, body?: Body.ish, headers?: Headers.ish, dPoPOptions?: OpenIDClient.DPoPOptions): Promise<J>;
|
|
24
25
|
}
|
package/dist/Client.js
CHANGED
|
@@ -53,10 +53,18 @@ export class Client extends OAuth2CLI.Client {
|
|
|
53
53
|
Log.debug(`Persisting ${this.name} refresh token (if present and storage configured):\n${Log.syntaxColor(response)}`);
|
|
54
54
|
return await super.save(response);
|
|
55
55
|
}
|
|
56
|
-
async
|
|
56
|
+
async prepareRequest(config, accessToken, url, method, body, headers, options) {
|
|
57
|
+
Log.debug(`Prepared request to ${this.name}:\n${Log.syntaxColor({ method, url, headers: Object.fromEntries(headers?.entries() || []), body })}`);
|
|
58
|
+
return [config, accessToken, url, method, body, headers, options];
|
|
59
|
+
}
|
|
60
|
+
async request(url, method = 'GET', body, headers = {}, dPoPOptions) {
|
|
57
61
|
Log.debug(`Sending request to ${this.name}:\n${Log.syntaxColor({
|
|
58
|
-
request: {
|
|
59
|
-
|
|
62
|
+
request: {
|
|
63
|
+
method,
|
|
64
|
+
url,
|
|
65
|
+
dPoPOptions
|
|
66
|
+
}
|
|
67
|
+
})}${body || headers ? ` injecting: ${Log.syntaxColor({ headers, body })}` : ''}`);
|
|
60
68
|
const response = await super.request(url, method, body, headers, dPoPOptions);
|
|
61
69
|
Log.debug(`Received response from ${this.name}:\n${Log.syntaxColor({
|
|
62
70
|
ok: response.ok,
|
|
@@ -66,7 +74,7 @@ export class Client extends OAuth2CLI.Client {
|
|
|
66
74
|
})}`);
|
|
67
75
|
return response;
|
|
68
76
|
}
|
|
69
|
-
async requestJSON(url, method, body, headers, dPoPOptions) {
|
|
77
|
+
async requestJSON(url, method = 'GET', body, headers = {}, dPoPOptions) {
|
|
70
78
|
const json = await super.requestJSON(url, method, body, headers, dPoPOptions);
|
|
71
79
|
Log.debug(`Parsed JSON from ${this.name} response:\n${typeof json === 'object' && json
|
|
72
80
|
? Log.syntaxColor(json)
|
package/dist/OAuth2.d.ts
CHANGED
|
@@ -27,13 +27,13 @@ export declare const client: () => import("./Client.js").Client<import("oauth2-c
|
|
|
27
27
|
*
|
|
28
28
|
* @see {@link OAuth2Plugin.request}
|
|
29
29
|
*/
|
|
30
|
-
export declare const request: (url: import("requestish/dist/URL.js").ish, method?: string | undefined, body?: import("
|
|
30
|
+
export declare const request: (url: import("requestish/dist/URL.js").ish, method?: string | undefined, body?: import("requestish/dist/Body.js").ish, headers?: import("requestish/dist/Headers.js").ish | undefined, dPoPOptions?: import("openid-client").DPoPOptions | undefined) => Promise<Response>;
|
|
31
31
|
/**
|
|
32
32
|
* Convenience method
|
|
33
33
|
*
|
|
34
34
|
* @see {@link OAuth2Plugin.requestJSON}
|
|
35
35
|
*/
|
|
36
|
-
export declare const requestJSON: <T extends import("@battis/typescript-tricks").JSONValue>(url: import("requestish/dist/URL.js").ish, method?: string | undefined, body?: import("
|
|
36
|
+
export declare const requestJSON: <T extends import("@battis/typescript-tricks").JSONValue>(url: import("requestish/dist/URL.js").ish, method?: string | undefined, body?: import("requestish/dist/Body.js").ish, headers?: import("requestish/dist/Headers.js").ish | undefined, dPoPOptions?: import("openid-client").DPoPOptions | undefined) => Promise<T>;
|
|
37
37
|
/**
|
|
38
38
|
* Convenience method
|
|
39
39
|
*
|
package/extendable/Client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { JSONValue } from '@battis/typescript-tricks';
|
|
|
2
2
|
import { Request } from 'express';
|
|
3
3
|
import * as OAuth2CLI from 'oauth2-cli';
|
|
4
4
|
import type * as OpenIDClient from 'openid-client';
|
|
5
|
-
import
|
|
5
|
+
import { Body, Headers, URL } from 'requestish';
|
|
6
6
|
/**
|
|
7
7
|
* Wrap {@link https://www.npmjs.com/package/openid-client openid-client} in a
|
|
8
8
|
* class instance specific to a particular OAuth/OpenID server credential-set,
|
|
@@ -19,6 +19,7 @@ export declare class Client<C extends OAuth2CLI.Credentials = OAuth2CLI.Credenti
|
|
|
19
19
|
handleAuthorizationCodeRedirect(request: Request, session: OAuth2CLI.Localhost.Server): Promise<OAuth2CLI.Token.Response>;
|
|
20
20
|
protected refreshTokenGrant({ refresh_token, inject }?: Parameters<OAuth2CLI.Client['refreshTokenGrant']>[0]): Promise<OAuth2CLI.Token.Response | undefined>;
|
|
21
21
|
protected save(response: OAuth2CLI.Token.Response): Promise<OAuth2CLI.Token.Response>;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
protected prepareRequest(config: OpenIDClient.Configuration, accessToken: string, url: URL, method: string, body?: OpenIDClient.FetchBody, headers?: Headers | undefined, options?: OpenIDClient.DPoPOptions | undefined): Promise<Parameters<(typeof OpenIDClient)['fetchProtectedResource']>>;
|
|
23
|
+
request(url: URL.ish, method?: string, body?: Body.ish, headers?: Headers.ish, dPoPOptions?: OpenIDClient.DPoPOptions): Promise<Response>;
|
|
24
|
+
requestJSON<J extends JSONValue = JSONValue>(url: URL.ish, method?: string, body?: Body.ish, headers?: Headers.ish, dPoPOptions?: OpenIDClient.DPoPOptions): Promise<J>;
|
|
24
25
|
}
|
package/extendable/Client.js
CHANGED
|
@@ -53,10 +53,18 @@ export class Client extends OAuth2CLI.Client {
|
|
|
53
53
|
Log.debug(`Persisting ${this.name} refresh token (if present and storage configured):\n${Log.syntaxColor(response)}`);
|
|
54
54
|
return await super.save(response);
|
|
55
55
|
}
|
|
56
|
-
async
|
|
56
|
+
async prepareRequest(config, accessToken, url, method, body, headers, options) {
|
|
57
|
+
Log.debug(`Prepared request to ${this.name}:\n${Log.syntaxColor({ method, url, headers: Object.fromEntries(headers?.entries() || []), body })}`);
|
|
58
|
+
return [config, accessToken, url, method, body, headers, options];
|
|
59
|
+
}
|
|
60
|
+
async request(url, method = 'GET', body, headers = {}, dPoPOptions) {
|
|
57
61
|
Log.debug(`Sending request to ${this.name}:\n${Log.syntaxColor({
|
|
58
|
-
request: {
|
|
59
|
-
|
|
62
|
+
request: {
|
|
63
|
+
method,
|
|
64
|
+
url,
|
|
65
|
+
dPoPOptions
|
|
66
|
+
}
|
|
67
|
+
})}${body || headers ? ` injecting: ${Log.syntaxColor({ headers, body })}` : ''}`);
|
|
60
68
|
const response = await super.request(url, method, body, headers, dPoPOptions);
|
|
61
69
|
Log.debug(`Received response from ${this.name}:\n${Log.syntaxColor({
|
|
62
70
|
ok: response.ok,
|
|
@@ -66,7 +74,7 @@ export class Client extends OAuth2CLI.Client {
|
|
|
66
74
|
})}`);
|
|
67
75
|
return response;
|
|
68
76
|
}
|
|
69
|
-
async requestJSON(url, method, body, headers, dPoPOptions) {
|
|
77
|
+
async requestJSON(url, method = 'GET', body, headers = {}, dPoPOptions) {
|
|
70
78
|
const json = await super.requestJSON(url, method, body, headers, dPoPOptions);
|
|
71
79
|
Log.debug(`Parsed JSON from ${this.name} response:\n${typeof json === 'object' && json
|
|
72
80
|
? Log.syntaxColor(json)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oauth2-cli/qui-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "@qui-cli/plugin wrapper for oauth2-cli",
|
|
5
5
|
"homepage": "https://github.com/battis/oauth2-cli/tree/main/packages/qui-cli#readme",
|
|
6
6
|
"repository": {
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"types": "./dist/index.d.ts",
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@qui-cli/colors": "^3.2.3",
|
|
20
|
-
"oauth2-cli": "1.0
|
|
21
|
-
"requestish": "0.1.
|
|
20
|
+
"oauth2-cli": "1.1.0",
|
|
21
|
+
"requestish": "0.1.5"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@battis/descriptive-types": "^0.2.6",
|