latchkey 3.8.0 → 3.10.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/README.md +3 -3
- package/dist/scripts/recordBrowserSession.js +4 -3
- package/dist/scripts/recordBrowserSession.js.map +1 -1
- package/dist/src/apiCredentials/base.d.ts +7 -1
- package/dist/src/apiCredentials/base.d.ts.map +1 -1
- package/dist/src/apiCredentials/base.js.map +1 -1
- package/dist/src/apiCredentials/store.d.ts +5 -0
- package/dist/src/apiCredentials/store.d.ts.map +1 -1
- package/dist/src/apiCredentials/store.js +7 -0
- package/dist/src/apiCredentials/store.js.map +1 -1
- package/dist/src/atomicWrite.d.ts +4 -1
- package/dist/src/atomicWrite.d.ts.map +1 -1
- package/dist/src/atomicWrite.js +34 -3
- package/dist/src/atomicWrite.js.map +1 -1
- package/dist/src/cli.js +0 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/cliCommands.d.ts +8 -0
- package/dist/src/cliCommands.d.ts.map +1 -1
- package/dist/src/cliCommands.js +110 -17
- package/dist/src/cliCommands.js.map +1 -1
- package/dist/src/curl.d.ts +36 -0
- package/dist/src/curl.d.ts.map +1 -1
- package/dist/src/curl.js +42 -0
- package/dist/src/curl.js.map +1 -1
- package/dist/src/curlInjection.d.ts +5 -4
- package/dist/src/curlInjection.d.ts.map +1 -1
- package/dist/src/curlInjection.js +8 -7
- package/dist/src/curlInjection.js.map +1 -1
- package/dist/src/gateway/gatewayEndpoint.d.ts.map +1 -1
- package/dist/src/gateway/gatewayEndpoint.js +6 -3
- package/dist/src/gateway/gatewayEndpoint.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +14 -3
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations.d.ts +6 -0
- package/dist/src/migrations.d.ts.map +1 -1
- package/dist/src/migrations.js +21 -8
- package/dist/src/migrations.js.map +1 -1
- package/dist/src/serviceRegistry.d.ts +14 -1
- package/dist/src/serviceRegistry.d.ts.map +1 -1
- package/dist/src/serviceRegistry.js +22 -2
- package/dist/src/serviceRegistry.js.map +1 -1
- package/dist/src/services/aws.d.ts +11 -2
- package/dist/src/services/aws.d.ts.map +1 -1
- package/dist/src/services/aws.js +72 -5
- package/dist/src/services/aws.js.map +1 -1
- package/dist/src/services/core/loginFlows/registry.d.ts.map +1 -1
- package/dist/src/services/core/loginFlows/registry.js +11 -6
- package/dist/src/services/core/loginFlows/registry.js.map +1 -1
- package/dist/src/services/core/loginFlows/tokenCapture.d.ts +74 -0
- package/dist/src/services/core/loginFlows/tokenCapture.d.ts.map +1 -0
- package/dist/src/services/core/loginFlows/tokenCapture.js +201 -0
- package/dist/src/services/core/loginFlows/tokenCapture.js.map +1 -0
- package/dist/src/services/index.d.ts +1 -0
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +1 -0
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tests/apiCredentialStore.test.js +8 -0
- package/dist/tests/apiCredentialStore.test.js.map +1 -1
- package/dist/tests/apiCredentials.test.js +84 -1
- package/dist/tests/apiCredentials.test.js.map +1 -1
- package/dist/tests/atomicWrite.test.js +42 -1
- package/dist/tests/atomicWrite.test.js.map +1 -1
- package/dist/tests/builtinServiceRegistry.d.ts +10 -0
- package/dist/tests/builtinServiceRegistry.d.ts.map +1 -0
- package/dist/tests/builtinServiceRegistry.js +10 -0
- package/dist/tests/builtinServiceRegistry.js.map +1 -0
- package/dist/tests/cli.test.js +273 -7
- package/dist/tests/cli.test.js.map +1 -1
- package/dist/tests/devShim.test.d.ts +2 -0
- package/dist/tests/devShim.test.d.ts.map +1 -0
- package/dist/tests/devShim.test.js +240 -0
- package/dist/tests/devShim.test.js.map +1 -0
- package/dist/tests/gateway.test.js +87 -2
- package/dist/tests/gateway.test.js.map +1 -1
- package/dist/tests/gatewayExtensions.test.js +2 -0
- package/dist/tests/gatewayExtensions.test.js.map +1 -1
- package/dist/tests/github.test.js +2 -2
- package/dist/tests/github.test.js.map +1 -1
- package/dist/tests/huggingface.test.js +2 -2
- package/dist/tests/huggingface.test.js.map +1 -1
- package/dist/tests/latchkeyEndpoint.test.js +9 -5
- package/dist/tests/latchkeyEndpoint.test.js.map +1 -1
- package/dist/tests/manualCredentialForms.test.js +2 -2
- package/dist/tests/manualCredentialForms.test.js.map +1 -1
- package/dist/tests/serviceRegistry.test.js +104 -20
- package/dist/tests/serviceRegistry.test.js.map +1 -1
- package/dist/tests/servicesAgainstRecordings.test.js +2 -2
- package/dist/tests/servicesAgainstRecordings.test.js.map +1 -1
- package/dist/tests/tailscale.test.js +2 -2
- package/dist/tests/tailscale.test.js.map +1 -1
- package/dist/tests/tokenCapture.test.d.ts +10 -0
- package/dist/tests/tokenCapture.test.d.ts.map +1 -0
- package/dist/tests/tokenCapture.test.js +136 -0
- package/dist/tests/tokenCapture.test.js.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A generic browser login for services whose credential is a token the web app
|
|
3
|
+
* mints for itself: open a URL, watch the responses that arrive while the user
|
|
4
|
+
* signs in, and lift a token out of the JSON body of a named endpoint.
|
|
5
|
+
*
|
|
6
|
+
* This is the counterpart to `cookie-capture`, for the other common shape. In a
|
|
7
|
+
* cookie-authenticated service the cookie *is* the API credential, so capturing
|
|
8
|
+
* it is enough. In a token-minting one the cookie authenticates the *page*,
|
|
9
|
+
* which then calls an endpoint of its own to obtain a short-lived token, and it
|
|
10
|
+
* is that token the API wants — capturing the cookie would store something the
|
|
11
|
+
* API refuses. Single-page apps built on NextAuth are the common case, where
|
|
12
|
+
* the mint endpoint is conventionally `/api/auth/session`.
|
|
13
|
+
*
|
|
14
|
+
* Nothing here is service-specific: which endpoint to watch, which field holds
|
|
15
|
+
* the token, and which header carries it all come from whoever registered the
|
|
16
|
+
* service, as the parameters of the `token-capture` login flow.
|
|
17
|
+
*
|
|
18
|
+
* Two consequences of capturing a minted token are worth knowing, and are the
|
|
19
|
+
* registrant's to accept rather than this flow's to solve:
|
|
20
|
+
*
|
|
21
|
+
* - **The token expires, and there is no refresh path.** The refresh material
|
|
22
|
+
* is the browser session, which stays in the browser profile and never
|
|
23
|
+
* reaches us. A credential going invalid is routine; signing in again mints
|
|
24
|
+
* a fresh one.
|
|
25
|
+
* - **The token is only as scoped as the service says.** A minted token is
|
|
26
|
+
* usually broader than an API key a user would issue deliberately.
|
|
27
|
+
*/
|
|
28
|
+
import { z } from 'zod';
|
|
29
|
+
import { RawCurlCredentials } from '../../../apiCredentials/base.js';
|
|
30
|
+
import { SimpleServiceSession } from '../base.js';
|
|
31
|
+
import { parseLoginFlowParams } from './base.js';
|
|
32
|
+
/** The placeholder a header template puts the captured token in. */
|
|
33
|
+
const TOKEN_PLACEHOLDER = '{token}';
|
|
34
|
+
/**
|
|
35
|
+
* The header a captured token goes into when the registration does not say.
|
|
36
|
+
* Bearer is what the great majority of token-minting web APIs expect.
|
|
37
|
+
*/
|
|
38
|
+
const DEFAULT_HEADER_TEMPLATE = `Authorization: Bearer ${TOKEN_PLACEHOLDER}`;
|
|
39
|
+
/**
|
|
40
|
+
* Identity of an endpoint for matching purposes: origin and path, with the
|
|
41
|
+
* query string and fragment dropped.
|
|
42
|
+
*
|
|
43
|
+
* Matching this way rather than on the URL verbatim is deliberate. A mint
|
|
44
|
+
* endpoint is commonly called with a cache-busting or callback parameter the
|
|
45
|
+
* registrant cannot predict — NextAuth appends one to `/api/auth/session` — and
|
|
46
|
+
* requiring the whole URL to match would silently never fire. The alternative,
|
|
47
|
+
* letting registrations carry a regular expression, puts an injection and
|
|
48
|
+
* catastrophic-backtracking surface into stored configuration to buy a
|
|
49
|
+
* generality nothing has asked for.
|
|
50
|
+
*/
|
|
51
|
+
function endpointIdentity(url) {
|
|
52
|
+
return `${url.origin}${url.pathname}`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Read a dotted path out of parsed JSON — `accessToken`, or `data.token` when
|
|
56
|
+
* the endpoint nests it.
|
|
57
|
+
*
|
|
58
|
+
* Returns null for anything that is not a non-empty string, which is what makes
|
|
59
|
+
* the token's *presence* the completion signal: a signed-out visitor commonly
|
|
60
|
+
* gets the same endpoint answering `{}` or `{"accessToken": null}`, and the
|
|
61
|
+
* request having happened must not be mistaken for a finished login.
|
|
62
|
+
*/
|
|
63
|
+
function readTokenAtPath(body, path) {
|
|
64
|
+
let current = body;
|
|
65
|
+
for (const segment of path) {
|
|
66
|
+
if (typeof current !== 'object' || current === null || Array.isArray(current)) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
current = current[segment];
|
|
70
|
+
}
|
|
71
|
+
return typeof current === 'string' && current !== '' ? current : null;
|
|
72
|
+
}
|
|
73
|
+
const TokenCaptureParamsSchema = z
|
|
74
|
+
.object({
|
|
75
|
+
/**
|
|
76
|
+
* The endpoint whose response carries the token. Compared by origin and
|
|
77
|
+
* path, so a query string does not have to be predicted.
|
|
78
|
+
*/
|
|
79
|
+
tokenUrl: z.string().url(),
|
|
80
|
+
/**
|
|
81
|
+
* Where the token sits in the JSON body. Dotted for a nested field; each
|
|
82
|
+
* segment is a literal key, so a key containing a dot cannot be addressed —
|
|
83
|
+
* no such endpoint has come up, and leaving it out keeps the syntax
|
|
84
|
+
* obvious.
|
|
85
|
+
*/
|
|
86
|
+
tokenField: z.string().min(1),
|
|
87
|
+
/**
|
|
88
|
+
* The header the token is stored as. Must contain `{token}`, and must look
|
|
89
|
+
* like a header, so that a mistake here is caught at registration rather
|
|
90
|
+
* than as a puzzling 401 after a successful-looking login.
|
|
91
|
+
*/
|
|
92
|
+
header: z
|
|
93
|
+
.string()
|
|
94
|
+
.min(1)
|
|
95
|
+
.refine((value) => value.includes(TOKEN_PLACEHOLDER), {
|
|
96
|
+
message: `must contain the ${TOKEN_PLACEHOLDER} placeholder`,
|
|
97
|
+
})
|
|
98
|
+
.refine((value) => /^[^:\s]+:/.test(value), {
|
|
99
|
+
message: "must be a header, as in 'Authorization: Bearer {token}'",
|
|
100
|
+
})
|
|
101
|
+
.optional(),
|
|
102
|
+
})
|
|
103
|
+
.strict();
|
|
104
|
+
/** Store the captured token the way `latchkey auth set -H` would. */
|
|
105
|
+
function buildTokenCredentials(headerTemplate, token) {
|
|
106
|
+
return new RawCurlCredentials(['-H', headerTemplate.replaceAll(TOKEN_PLACEHOLDER, token)]);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* One run of the flow: responses go by, and the first one from the mint
|
|
110
|
+
* endpoint that carries a token ends the login.
|
|
111
|
+
*/
|
|
112
|
+
class TokenCaptureSession extends SimpleServiceSession {
|
|
113
|
+
tokenEndpointIdentity;
|
|
114
|
+
tokenPath;
|
|
115
|
+
headerTemplate;
|
|
116
|
+
constructor(service, appNamePrefix, tokenUrl, tokenPath, headerTemplate) {
|
|
117
|
+
super(service, appNamePrefix);
|
|
118
|
+
this.tokenEndpointIdentity = endpointIdentity(tokenUrl);
|
|
119
|
+
this.tokenPath = tokenPath;
|
|
120
|
+
this.headerTemplate = headerTemplate;
|
|
121
|
+
}
|
|
122
|
+
async getApiCredentialsFromResponse(response) {
|
|
123
|
+
let responseUrl;
|
|
124
|
+
try {
|
|
125
|
+
responseUrl = new URL(response.url());
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Not a URL we can compare — a data: or blob: response, say.
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
if (endpointIdentity(responseUrl) !== this.tokenEndpointIdentity) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
let token;
|
|
135
|
+
try {
|
|
136
|
+
token = readTokenAtPath(JSON.parse(await response.text()), this.tokenPath);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
// Unreadable or not JSON: the endpoint answered with something this
|
|
140
|
+
// registration does not describe. Keep waiting rather than fail the
|
|
141
|
+
// login — the response that carries the token may still be coming.
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
return token === null ? null : buildTokenCredentials(this.headerTemplate, token);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The flow. Its statics are the kind of automation — what `--login-flow`
|
|
149
|
+
* selects — and an instance is that kind configured with one service's
|
|
150
|
+
* parameters, ready to create a session per login.
|
|
151
|
+
*/
|
|
152
|
+
export class TokenCaptureLoginFlow {
|
|
153
|
+
/** Value of `--login-flow`. Not `name`, which every class already has. */
|
|
154
|
+
static flowName = 'token-capture';
|
|
155
|
+
static summary = 'Open the login URL and capture a token the web app mints for itself, from the JSON ' +
|
|
156
|
+
'body of a named endpoint.';
|
|
157
|
+
static details = [
|
|
158
|
+
'Parameters:',
|
|
159
|
+
' tokenUrl Full URL, including the scheme, of the endpoint whose response',
|
|
160
|
+
' carries the token. Required. Matched on origin and path, so a',
|
|
161
|
+
' query string the app appends does not have to be predicted.',
|
|
162
|
+
' tokenField Where the token sits in the JSON body. Required. Dotted for a',
|
|
163
|
+
' nested field, as in "data.accessToken".',
|
|
164
|
+
' header Header to store the token as. Optional; defaults to',
|
|
165
|
+
` "${DEFAULT_HEADER_TEMPLATE}". Must contain ${TOKEN_PLACEHOLDER}.`,
|
|
166
|
+
'',
|
|
167
|
+
'For services where the cookie authenticates the page rather than the API,',
|
|
168
|
+
'and the page calls an endpoint of its own to mint a short-lived token. Use',
|
|
169
|
+
'cookie-capture instead when the cookie is itself the API credential.',
|
|
170
|
+
'',
|
|
171
|
+
'The login finishes when that endpoint answers with a non-empty token, not',
|
|
172
|
+
'when it is merely requested: a signed-out visitor commonly gets the same',
|
|
173
|
+
'endpoint answering `{}`. A token minted this way expires and cannot be',
|
|
174
|
+
'refreshed — the refresh material stays in the browser — so expect to sign',
|
|
175
|
+
'in again periodically.',
|
|
176
|
+
'',
|
|
177
|
+
'Example:',
|
|
178
|
+
' $ latchkey services register my-app \\',
|
|
179
|
+
' --base-api-url="https://app.example.com/backend-api/" \\',
|
|
180
|
+
' --login-url="https://app.example.com/auth/login" \\',
|
|
181
|
+
' --login-flow=token-capture \\',
|
|
182
|
+
' --login-flow-params=\'{"tokenUrl": "https://app.example.com/api/auth/session",',
|
|
183
|
+
' "tokenField": "accessToken"}\'',
|
|
184
|
+
].join('\n');
|
|
185
|
+
static paramsSchema = TokenCaptureParamsSchema;
|
|
186
|
+
params;
|
|
187
|
+
constructor(rawParams) {
|
|
188
|
+
this.params = parseLoginFlowParams(TokenCaptureLoginFlow, rawParams);
|
|
189
|
+
}
|
|
190
|
+
describe(loginUrl) {
|
|
191
|
+
return (`\`latchkey auth browser\` opens ${loginUrl} and stores the '${this.params.tokenField}' ` +
|
|
192
|
+
`field of ${this.params.tokenUrl} as the credentials once it carries a token.`);
|
|
193
|
+
}
|
|
194
|
+
createSession(service, appNamePrefix) {
|
|
195
|
+
return new TokenCaptureSession(service, appNamePrefix, new URL(this.params.tokenUrl), this.params.tokenField.split('.'), this.params.header ?? DEFAULT_HEADER_TEMPLATE);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// TypeScript has no `static implements`, so this is where the class side of the
|
|
199
|
+
// flow is checked. The registry checks it again, but the error lands here.
|
|
200
|
+
TokenCaptureLoginFlow;
|
|
201
|
+
//# sourceMappingURL=tokenCapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenCapture.js","sourceRoot":"","sources":["../../../../../src/services/core/loginFlows/tokenCapture.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export { RegisteredService } from './core/registered.js';
|
|
|
7
7
|
export { LOGIN_FLOWS, UnknownLoginFlowError, formatLoginFlowsHelp, resolveLoginFlow, } from './core/loginFlows/registry.js';
|
|
8
8
|
export { LoginFlowParamsInvalidError, parseLoginFlowParams, type LoginFlow, type LoginFlowClass, } from './core/loginFlows/base.js';
|
|
9
9
|
export { CookieCaptureLoginFlow } from './core/loginFlows/cookieCapture.js';
|
|
10
|
+
export { TokenCaptureLoginFlow } from './core/loginFlows/tokenCapture.js';
|
|
10
11
|
export { Slack, SLACK } from './slack.js';
|
|
11
12
|
export { Discord, DISCORD } from './discord.js';
|
|
12
13
|
export { Github, GITHUB } from './github.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAC3B,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kCAAkC,EAClC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,EAC3B,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kCAAkC,EAClC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -7,6 +7,7 @@ export { RegisteredService } from './core/registered.js';
|
|
|
7
7
|
export { LOGIN_FLOWS, UnknownLoginFlowError, formatLoginFlowsHelp, resolveLoginFlow, } from './core/loginFlows/registry.js';
|
|
8
8
|
export { LoginFlowParamsInvalidError, parseLoginFlowParams, } from './core/loginFlows/base.js';
|
|
9
9
|
export { CookieCaptureLoginFlow } from './core/loginFlows/cookieCapture.js';
|
|
10
|
+
export { TokenCaptureLoginFlow } from './core/loginFlows/tokenCapture.js';
|
|
10
11
|
export { Slack, SLACK } from './slack.js';
|
|
11
12
|
export { Discord, DISCORD } from './discord.js';
|
|
12
13
|
export { Github, GITHUB } from './github.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,YAAY,EACZ,2BAA2B,GAE5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kCAAkC,EAClC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "3.
|
|
1
|
+
export declare const VERSION = "3.10.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,WAAW,CAAC"}
|
package/dist/src/version.js
CHANGED
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yEAAyE;AACzE,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yEAAyE;AACzE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
|
|
@@ -128,6 +128,14 @@ describe('ApiCredentialStore', () => {
|
|
|
128
128
|
store.savePreparation('google-gmail', new OAuthCredentials('new-id', 'new-secret'));
|
|
129
129
|
expect(store.getPreparation('google-gmail').clientId).toBe('new-id');
|
|
130
130
|
});
|
|
131
|
+
it('should list the services that have a preparation', () => {
|
|
132
|
+
const store = new ApiCredentialStore(storePath, encryptedStorage);
|
|
133
|
+
expect(store.listPreparedServiceNames()).toEqual([]);
|
|
134
|
+
store.savePreparation('google-gmail', new OAuthCredentials('client-id', 'client-secret'));
|
|
135
|
+
store.savePreparation('gitlab', new OAuthCredentials('gitlab-id', 'gitlab-secret'));
|
|
136
|
+
store.save('slack', new AuthorizationBearer('token'));
|
|
137
|
+
expect([...store.listPreparedServiceNames()].sort()).toEqual(['gitlab', 'google-gmail']);
|
|
138
|
+
});
|
|
131
139
|
it('should keep preparations separate from credentials', () => {
|
|
132
140
|
const store = new ApiCredentialStore(storePath, encryptedStorage);
|
|
133
141
|
store.savePreparation('google-gmail', new OAuthCredentials('client-id', 'client-secret'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCredentialStore.test.js","sourceRoot":"","sources":["../../tests/apiCredentialStore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,OAAe,CAAC;IACpB,IAAI,SAAiB,CAAC;IACtB,IAAI,gBAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACxD,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC9C,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAElC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACtD,MAAM,CAAE,SAAiC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAEnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,CAAE,SAA+B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACtD,MAAM,CAAE,SAAiC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,CAAE,SAAiC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;YAE3D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAE,SAAiC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;YAE9D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,yEAAyE;YACzE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;YAE9D,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEvB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAE1F,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,CAAE,SAA8B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACpF,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YAEpF,MAAM,CAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAE1F,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEjF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAE5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;YAE1E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAE1F,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEhF,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrF,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CACjF,YAAY,CACb,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEjD,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEhF,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;YAC3C,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;gBACrE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAC3E,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;gBAC5F,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;gBACrE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAErD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACnE,MAAM,CAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;gBAC/E,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;gBAC1F,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,MAAM,CAAC,GAAG,EAAE;oBACV,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;gBAC5D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBAEpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACxD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;gBAC1E,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBAEpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;gBACjE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBAEpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;gBAC/F,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;gBACpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;gBAClE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAC1E,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;gBAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9D,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBAChF,MAAM,CAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,kBAAkB,CAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CACpF,MAAM,CACP,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"apiCredentialStore.test.js","sourceRoot":"","sources":["../../tests/apiCredentialStore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,11 @@ import { AuthorizationBearer, AuthorizationBare, RawCurlCredentials, } from '../
|
|
|
3
3
|
import { deserializeCredentials, serializeCredentials, ApiCredentialsSchema, } from '../src/apiCredentials/serialization.js';
|
|
4
4
|
import { SlackApiCredentials } from '../src/services/slack.js';
|
|
5
5
|
import { TelegramBotCredentials } from '../src/services/telegram.js';
|
|
6
|
-
import { AwsCredentials } from '../src/services/aws.js';
|
|
6
|
+
import { AwsCredentials, AwsRequestBodyNotAvailableError, AwsRequestBodyNotSignableError, } from '../src/services/aws.js';
|
|
7
|
+
import { createHash } from 'node:crypto';
|
|
8
|
+
import { mkdtempSync, writeFileSync } from 'node:fs';
|
|
9
|
+
import { tmpdir } from 'node:os';
|
|
10
|
+
import { join } from 'node:path';
|
|
7
11
|
import { GoogleApiKeyCredentials } from '../src/services/google/base.js';
|
|
8
12
|
import { ZoomServerToServerCredentials } from '../src/services/zoom.js';
|
|
9
13
|
describe('AuthorizationBearer', () => {
|
|
@@ -139,6 +143,85 @@ describe('AwsCredentials', () => {
|
|
|
139
143
|
const result = await credentials.injectIntoCurlCall(['-v']);
|
|
140
144
|
expect(result).toEqual(['-v']);
|
|
141
145
|
});
|
|
146
|
+
it('should sign the out-of-band body instead of the @- placeholder', async () => {
|
|
147
|
+
const credentials = new AwsCredentials('AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG');
|
|
148
|
+
const body = '{"logGroupName":"/aws/lambda/test"}';
|
|
149
|
+
const curlArguments = [
|
|
150
|
+
'-X',
|
|
151
|
+
'POST',
|
|
152
|
+
'-H',
|
|
153
|
+
'Content-Type: application/x-amz-json-1.1',
|
|
154
|
+
'--data-binary',
|
|
155
|
+
'@-',
|
|
156
|
+
'https://logs.us-east-1.amazonaws.com/',
|
|
157
|
+
];
|
|
158
|
+
const result = (await credentials.injectIntoCurlCall(curlArguments, Buffer.from(body, 'utf-8')));
|
|
159
|
+
const payloadHashHeader = result.find((argument) => argument.startsWith('x-amz-content-sha256: '));
|
|
160
|
+
const expectedHash = createHash('sha256').update(body, 'utf-8').digest('hex');
|
|
161
|
+
expect(payloadHashHeader).toBe(`x-amz-content-sha256: ${expectedHash}`);
|
|
162
|
+
expect(payloadHashHeader).not.toBe(`x-amz-content-sha256: ${createHash('sha256').update('@-', 'utf-8').digest('hex')}`);
|
|
163
|
+
});
|
|
164
|
+
it('should read a @file body reference when signing', async () => {
|
|
165
|
+
const credentials = new AwsCredentials('AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG');
|
|
166
|
+
const body = '{"limit":10}';
|
|
167
|
+
const bodyFile = join(mkdtempSync(join(tmpdir(), 'latchkey-aws-')), 'body.json');
|
|
168
|
+
writeFileSync(bodyFile, body);
|
|
169
|
+
const result = (await credentials.injectIntoCurlCall([
|
|
170
|
+
'-X',
|
|
171
|
+
'POST',
|
|
172
|
+
'--data-binary',
|
|
173
|
+
`@${bodyFile}`,
|
|
174
|
+
'https://logs.us-east-1.amazonaws.com/',
|
|
175
|
+
]));
|
|
176
|
+
const expectedHash = createHash('sha256').update(body, 'utf-8').digest('hex');
|
|
177
|
+
expect(result).toContain(`x-amz-content-sha256: ${expectedHash}`);
|
|
178
|
+
});
|
|
179
|
+
it('should report a clear error when the body only exists on curl stdin', async () => {
|
|
180
|
+
const credentials = new AwsCredentials('AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG');
|
|
181
|
+
await expect(credentials.injectIntoCurlCall([
|
|
182
|
+
'-X',
|
|
183
|
+
'POST',
|
|
184
|
+
'--data-binary',
|
|
185
|
+
'@-',
|
|
186
|
+
'https://logs.us-east-1.amazonaws.com/',
|
|
187
|
+
])).rejects.toBeInstanceOf(AwsRequestBodyNotAvailableError);
|
|
188
|
+
});
|
|
189
|
+
it('should refuse to sign bodies curl assembles from several data arguments', async () => {
|
|
190
|
+
const credentials = new AwsCredentials('AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG');
|
|
191
|
+
const bodyFile = join(mkdtempSync(join(tmpdir(), 'latchkey-aws-')), 'body.json');
|
|
192
|
+
writeFileSync(bodyFile, '{"limit":10}');
|
|
193
|
+
await expect(credentials.injectIntoCurlCall([
|
|
194
|
+
'-X',
|
|
195
|
+
'POST',
|
|
196
|
+
'-d',
|
|
197
|
+
`@${bodyFile}`,
|
|
198
|
+
'-d',
|
|
199
|
+
'extra=1',
|
|
200
|
+
'https://logs.us-east-1.amazonaws.com/',
|
|
201
|
+
])).rejects.toBeInstanceOf(AwsRequestBodyNotSignableError);
|
|
202
|
+
await expect(credentials.injectIntoCurlCall([
|
|
203
|
+
'-X',
|
|
204
|
+
'POST',
|
|
205
|
+
'--data-urlencode',
|
|
206
|
+
`@${bodyFile}`,
|
|
207
|
+
'https://logs.us-east-1.amazonaws.com/',
|
|
208
|
+
])).rejects.toBeInstanceOf(AwsRequestBodyNotSignableError);
|
|
209
|
+
});
|
|
210
|
+
it('should sign x-amz-* headers supplied by the caller', async () => {
|
|
211
|
+
const credentials = new AwsCredentials('AKIAIOSFODNN7EXAMPLE', 'wJalrXUtnFEMI/K7MDENG');
|
|
212
|
+
const result = (await credentials.injectIntoCurlCall([
|
|
213
|
+
'-X',
|
|
214
|
+
'POST',
|
|
215
|
+
'-H',
|
|
216
|
+
'Content-Type: application/x-amz-json-1.1',
|
|
217
|
+
'-H',
|
|
218
|
+
'X-Amz-Target: Logs_20140328.DescribeLogGroups',
|
|
219
|
+
'--data-binary',
|
|
220
|
+
'@-',
|
|
221
|
+
'https://logs.us-east-1.amazonaws.com/',
|
|
222
|
+
], Buffer.from('{}', 'utf-8')));
|
|
223
|
+
expect(result[1]).toContain('SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target');
|
|
224
|
+
});
|
|
142
225
|
});
|
|
143
226
|
describe('serialization roundtrip', () => {
|
|
144
227
|
const cases = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCredentials.test.js","sourceRoot":"","sources":["../../tests/apiCredentials.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apiCredentials.test.js","sourceRoot":"","sources":["../../tests/apiCredentials.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAExE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChE,IAAI;YACJ,sCAAsC;SACvC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChE,IAAI;YACJ,8BAA8B;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAC5E,MAAM,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChE,IAAI;YACJ,kCAAkC;YAClC,IAAI;YACJ,0BAA0B;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChE,IAAI;YACJ,iBAAiB;YACjB,IAAI;YACJ,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,WAAW,GAAG,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC,CAAC,gCAAgC,CAAC,CAAC,CACnE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,WAAW,GAAG,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC;YAC7B,IAAI;YACJ,gCAAgC;YAChC,+BAA+B;SAChC,CAAC,CACH,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,WAAW,GAAG,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgC,CAAC,CAAC,CACjF,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,kDAAkD,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,WAAW,GAAG,IAAI,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QACpE,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAC9F,CAAC,QAAQ,CAAC,OAAO,CAAC;YACjB,IAAI;YACJ,kCAAkC;YAClC,2DAA2D;SAC5D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAAG,IAAI,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QACpE,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC;YAC7B,IAAI;YACJ,gCAAgC;YAChC,+BAA+B;SAChC,CAAC,CACH,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,gCAAgC,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC;YAClD,wEAAwE;SACzE,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAkB,CAAC;QACzC,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC9B,oEAAoE,CACrE,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC/D,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACzE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3B,wEAAwE,CACzE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC;YAClD,IAAI;YACJ,gCAAgC;YAChC,IAAI;YACJ,IAAI;YACJ,6DAA6D;SAC9D,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAkB,CAAC;QACzC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,iEAAiE,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC;YAClD,+CAA+C;SAChD,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAkB,CAAC;QACzC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACrC,yEAAyE;QACzE,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC;YAClD,yDAAyD;SAC1D,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAkB,CAAC;QACzC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,qCAAqC,CAAC;QACnD,MAAM,aAAa,GAAG;YACpB,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,0CAA0C;YAC1C,eAAe;YACf,IAAI;YACJ,uCAAuC;SACxC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,kBAAkB,CAClD,aAAa,EACb,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,CAAa,CAAC;QAEf,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjD,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAC9C,CAAC;QACF,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,IAAI,CAChC,yBAAyB,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACjF,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,kBAAkB,CAAC;YACnD,IAAI;YACJ,MAAM;YACN,eAAe;YACf,IAAI,QAAQ,EAAE;YACd,uCAAuC;SACxC,CAAC,CAAa,CAAC;QAEhB,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC;YAC7B,IAAI;YACJ,MAAM;YACN,eAAe;YACf,IAAI;YACJ,uCAAuC;SACxC,CAAC,CACH,CAAC,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACjF,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAExC,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC;YAC7B,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,IAAI,QAAQ,EAAE;YACd,IAAI;YACJ,SAAS;YACT,uCAAuC;SACxC,CAAC,CACH,CAAC,OAAO,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;QAEzD,MAAM,MAAM,CACV,WAAW,CAAC,kBAAkB,CAAC;YAC7B,IAAI;YACJ,MAAM;YACN,kBAAkB;YAClB,IAAI,QAAQ,EAAE;YACd,uCAAuC;SACxC,CAAC,CACH,CAAC,OAAO,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,kBAAkB,CAClD;YACE,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,0CAA0C;YAC1C,IAAI;YACJ,+CAA+C;YAC/C,eAAe;YACf,IAAI;YACJ,uCAAuC;SACxC,EACD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAC3B,CAAa,CAAC;QAEf,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACzB,8EAA8E,CAC/E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,KAAK,GAGL;QACJ,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE;QACzF,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;QACrF;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC9D;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SACnE;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,gBAAgB,CAAC;SAChE;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3E;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,kBAAkB,CAAC;SACnE;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,WAAW,EAAE,GAAG,EAAE,CAChB,IAAI,6BAA6B,CAC/B,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAC9C;SACJ;KACF,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,KAAK,EAAE,CAAC;QAC7D,EAAE,CAAC,oBAAoB,IAAI,gCAAgC,EAAE,GAAG,EAAE;YAChE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,IAAI,4BAA4B,EAAE,GAAG,EAAE;YAC3D,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC;YAC5C,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { mkdtempSync, rmSync, readFileSync, statSync, mkdirSync, readdirSync } from 'node:fs';
|
|
2
|
+
import { mkdtempSync, rmSync, readFileSync, statSync, lstatSync, mkdirSync, readdirSync, symlinkSync, writeFileSync, } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { tmpdir } from 'node:os';
|
|
5
5
|
import { writeFileAtomic, AtomicWriteError } from '../src/atomicWrite.js';
|
|
@@ -78,6 +78,47 @@ describe('writeFileAtomic', () => {
|
|
|
78
78
|
writeFileAtomic(filePath, content);
|
|
79
79
|
expect(readFileSync(filePath, 'utf-8')).toBe(content);
|
|
80
80
|
});
|
|
81
|
+
it('should write through a symlink instead of replacing it', () => {
|
|
82
|
+
const realPath = join(tempDir, 'real.txt');
|
|
83
|
+
const linkPath = join(tempDir, 'link.txt');
|
|
84
|
+
writeFileSync(realPath, 'original', 'utf-8');
|
|
85
|
+
symlinkSync(realPath, linkPath);
|
|
86
|
+
writeFileAtomic(linkPath, 'updated');
|
|
87
|
+
expect(lstatSync(linkPath).isSymbolicLink()).toBe(true);
|
|
88
|
+
expect(readFileSync(realPath, 'utf-8')).toBe('updated');
|
|
89
|
+
});
|
|
90
|
+
it('should follow a chain of symlinks', () => {
|
|
91
|
+
const realPath = join(tempDir, 'real.txt');
|
|
92
|
+
const middleLinkPath = join(tempDir, 'middle.txt');
|
|
93
|
+
const outerLinkPath = join(tempDir, 'outer.txt');
|
|
94
|
+
writeFileSync(realPath, 'original', 'utf-8');
|
|
95
|
+
symlinkSync(realPath, middleLinkPath);
|
|
96
|
+
symlinkSync(middleLinkPath, outerLinkPath);
|
|
97
|
+
writeFileAtomic(outerLinkPath, 'updated');
|
|
98
|
+
expect(lstatSync(outerLinkPath).isSymbolicLink()).toBe(true);
|
|
99
|
+
expect(lstatSync(middleLinkPath).isSymbolicLink()).toBe(true);
|
|
100
|
+
expect(readFileSync(realPath, 'utf-8')).toBe('updated');
|
|
101
|
+
});
|
|
102
|
+
it('should create the target of a dangling symlink', () => {
|
|
103
|
+
const realPath = join(tempDir, 'not-yet-there.txt');
|
|
104
|
+
const linkPath = join(tempDir, 'link.txt');
|
|
105
|
+
symlinkSync(realPath, linkPath);
|
|
106
|
+
writeFileAtomic(linkPath, 'created');
|
|
107
|
+
expect(lstatSync(linkPath).isSymbolicLink()).toBe(true);
|
|
108
|
+
expect(readFileSync(realPath, 'utf-8')).toBe('created');
|
|
109
|
+
});
|
|
110
|
+
it('should write through a symlink pointing into another directory', () => {
|
|
111
|
+
const otherDir = join(tempDir, 'other');
|
|
112
|
+
mkdirSync(otherDir);
|
|
113
|
+
const realPath = join(otherDir, 'real.txt');
|
|
114
|
+
const linkPath = join(tempDir, 'link.txt');
|
|
115
|
+
writeFileSync(realPath, 'original', 'utf-8');
|
|
116
|
+
symlinkSync('other/real.txt', linkPath);
|
|
117
|
+
writeFileAtomic(linkPath, 'updated', { mode: 0o600 });
|
|
118
|
+
expect(lstatSync(linkPath).isSymbolicLink()).toBe(true);
|
|
119
|
+
expect(readFileSync(realPath, 'utf-8')).toBe('updated');
|
|
120
|
+
expect(readdirSync(tempDir).sort()).toEqual(['link.txt', 'other']);
|
|
121
|
+
});
|
|
81
122
|
it('should not corrupt the target file if rename would fail', () => {
|
|
82
123
|
// Write initial content
|
|
83
124
|
const filePath = join(tempDir, 'existing.txt');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomicWrite.test.js","sourceRoot":"","sources":["../../tests/atomicWrite.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"atomicWrite.test.js","sourceRoot":"","sources":["../../tests/atomicWrite.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A registry over the services latchkey ships with.
|
|
3
|
+
*
|
|
4
|
+
* The CLI and the gateway each build their own registry with
|
|
5
|
+
* `createServiceRegistry`, since theirs also carry whatever config.json holds.
|
|
6
|
+
* Tests that only care about the built-in services share this one.
|
|
7
|
+
*/
|
|
8
|
+
import { ServiceRegistry } from '../src/serviceRegistry.js';
|
|
9
|
+
export declare const BUILTIN_SERVICE_REGISTRY: ServiceRegistry;
|
|
10
|
+
//# sourceMappingURL=builtinServiceRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtinServiceRegistry.d.ts","sourceRoot":"","sources":["../../tests/builtinServiceRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAoB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,wBAAwB,iBAAwC,CAAC"}
|