@salesforce/b2c-tooling-sdk 0.9.0 → 0.11.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/data/content-schemas/aspecttype.json +39 -0
- package/data/content-schemas/attributedefinition.json +283 -0
- package/data/content-schemas/attributedefinitiongroup.json +35 -0
- package/data/content-schemas/cmsrecord.json +45 -0
- package/data/content-schemas/common.json +27 -0
- package/data/content-schemas/componentconstructor.json +31 -0
- package/data/content-schemas/componenttype.json +24 -0
- package/data/content-schemas/componenttypeexclusion.json +11 -0
- package/data/content-schemas/componenttypeinclusion.json +11 -0
- package/data/content-schemas/contentassetcomponentconfig.json +32 -0
- package/data/content-schemas/contentassetpageconfig.json +14 -0
- package/data/content-schemas/contentassetstructuredcontentdata.json +5 -0
- package/data/content-schemas/customeditortype.json +28 -0
- package/data/content-schemas/databindingcontext.json +17 -0
- package/data/content-schemas/editordefinition.json +27 -0
- package/data/content-schemas/image.json +37 -0
- package/data/content-schemas/pagetype.json +38 -0
- package/data/content-schemas/regiondefinition.json +33 -0
- package/data/content-schemas/visibilityrule.json +70 -0
- package/dist/cjs/auth/index.d.ts +4 -0
- package/dist/cjs/auth/index.js +3 -0
- package/dist/cjs/auth/index.js.map +1 -1
- package/dist/cjs/auth/stateful-oauth-strategy.d.ts +39 -0
- package/dist/cjs/auth/stateful-oauth-strategy.js +136 -0
- package/dist/cjs/auth/stateful-oauth-strategy.js.map +1 -0
- package/dist/cjs/auth/stateful-store.d.ts +49 -0
- package/dist/cjs/auth/stateful-store.js +168 -0
- package/dist/cjs/auth/stateful-store.js.map +1 -0
- package/dist/cjs/cli/am-command.d.ts +1 -1
- package/dist/cjs/cli/am-command.js +9 -4
- package/dist/cjs/cli/am-command.js.map +1 -1
- package/dist/cjs/cli/base-command.d.ts +41 -0
- package/dist/cjs/cli/base-command.js +84 -2
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +3 -3
- package/dist/cjs/cli/oauth-command.d.ts +19 -4
- package/dist/cjs/cli/oauth-command.js +57 -2
- package/dist/cjs/cli/oauth-command.js.map +1 -1
- package/dist/cjs/cli/ods-command.d.ts +3 -3
- package/dist/cjs/cli/webdav-command.d.ts +3 -3
- package/dist/cjs/clients/am-api.js +7 -1
- package/dist/cjs/clients/am-api.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +1 -1
- package/dist/cjs/clients/index.js +1 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/middleware.d.ts +21 -0
- package/dist/cjs/clients/middleware.js +30 -0
- package/dist/cjs/clients/middleware.js.map +1 -1
- package/dist/cjs/config/sources/env-source.js +4 -0
- package/dist/cjs/config/sources/env-source.js.map +1 -1
- package/dist/cjs/docs/schema.d.ts +2 -0
- package/dist/cjs/docs/schema.js +2 -2
- package/dist/cjs/docs/schema.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/operations/content/index.d.ts +15 -2
- package/dist/cjs/operations/content/index.js +14 -2
- package/dist/cjs/operations/content/index.js.map +1 -1
- package/dist/cjs/operations/content/validate.d.ts +64 -0
- package/dist/cjs/operations/content/validate.js +170 -0
- package/dist/cjs/operations/content/validate.js.map +1 -0
- package/dist/cjs/operations/mrt/bundle.js +13 -13
- package/dist/cjs/operations/mrt/bundle.js.map +1 -1
- package/dist/cjs/safety/index.d.ts +7 -0
- package/dist/cjs/safety/index.js +7 -0
- package/dist/cjs/safety/index.js.map +1 -0
- package/dist/cjs/safety/safety-middleware.d.ts +45 -0
- package/dist/cjs/safety/safety-middleware.js +99 -0
- package/dist/cjs/safety/safety-middleware.js.map +1 -0
- package/dist/esm/auth/index.d.ts +4 -0
- package/dist/esm/auth/index.js +3 -0
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/stateful-oauth-strategy.d.ts +39 -0
- package/dist/esm/auth/stateful-oauth-strategy.js +136 -0
- package/dist/esm/auth/stateful-oauth-strategy.js.map +1 -0
- package/dist/esm/auth/stateful-store.d.ts +49 -0
- package/dist/esm/auth/stateful-store.js +168 -0
- package/dist/esm/auth/stateful-store.js.map +1 -0
- package/dist/esm/cli/am-command.d.ts +1 -1
- package/dist/esm/cli/am-command.js +9 -4
- package/dist/esm/cli/am-command.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +41 -0
- package/dist/esm/cli/base-command.js +84 -2
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +3 -3
- package/dist/esm/cli/oauth-command.d.ts +19 -4
- package/dist/esm/cli/oauth-command.js +57 -2
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +3 -3
- package/dist/esm/cli/webdav-command.d.ts +3 -3
- package/dist/esm/clients/am-api.js +7 -1
- package/dist/esm/clients/am-api.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +21 -0
- package/dist/esm/clients/middleware.js +30 -0
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/config/sources/env-source.js +4 -0
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/docs/schema.d.ts +2 -0
- package/dist/esm/docs/schema.js +2 -2
- package/dist/esm/docs/schema.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operations/content/index.d.ts +15 -2
- package/dist/esm/operations/content/index.js +14 -2
- package/dist/esm/operations/content/index.js.map +1 -1
- package/dist/esm/operations/content/validate.d.ts +64 -0
- package/dist/esm/operations/content/validate.js +170 -0
- package/dist/esm/operations/content/validate.js.map +1 -0
- package/dist/esm/operations/mrt/bundle.js +13 -13
- package/dist/esm/operations/mrt/bundle.js.map +1 -1
- package/dist/esm/safety/index.d.ts +7 -0
- package/dist/esm/safety/index.js +7 -0
- package/dist/esm/safety/index.js.map +1 -0
- package/dist/esm/safety/safety-middleware.d.ts +45 -0
- package/dist/esm/safety/safety-middleware.js +99 -0
- package/dist/esm/safety/safety-middleware.js.map +1 -0
- package/package.json +5 -4
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { OAuthCommand } from './oauth-command.js';
|
|
2
2
|
import { createAccountManagerClient } from '../clients/am-api.js';
|
|
3
3
|
import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
|
|
4
|
+
import { StatefulOAuthStrategy } from '../auth/stateful-oauth-strategy.js';
|
|
4
5
|
import { DEFAULT_PUBLIC_CLIENT_ID } from '../defaults.js';
|
|
5
6
|
/** Account Manager role: User Administrator */
|
|
6
7
|
const AM_USER_ADMIN = 'User Administrator';
|
|
@@ -53,7 +54,11 @@ export class AmCommand extends OAuthCommand {
|
|
|
53
54
|
get authMethodUsed() {
|
|
54
55
|
if (!this._authStrategy)
|
|
55
56
|
return undefined;
|
|
56
|
-
|
|
57
|
+
if (this._authStrategy instanceof ImplicitOAuthStrategy)
|
|
58
|
+
return 'implicit';
|
|
59
|
+
if (this._authStrategy instanceof StatefulOAuthStrategy)
|
|
60
|
+
return 'stateful';
|
|
61
|
+
return 'client-credentials';
|
|
57
62
|
}
|
|
58
63
|
/**
|
|
59
64
|
* Gets the unified Account Manager client, creating it if necessary.
|
|
@@ -101,9 +106,9 @@ export class AmCommand extends OAuthCommand {
|
|
|
101
106
|
const authMethod = this.authMethodUsed;
|
|
102
107
|
if (!subtopic)
|
|
103
108
|
return undefined;
|
|
104
|
-
// Try to get current JWT roles for client-credentials (avoid triggering browser
|
|
109
|
+
// Try to get current JWT roles for client-credentials / stateful (avoid triggering browser for implicit)
|
|
105
110
|
let rolesInfo = '';
|
|
106
|
-
if (authMethod === 'client-credentials' && this._authStrategy) {
|
|
111
|
+
if ((authMethod === 'client-credentials' || authMethod === 'stateful') && this._authStrategy) {
|
|
107
112
|
try {
|
|
108
113
|
// getJWT() is async but we only want cached token info — use synchronous check
|
|
109
114
|
// The token should already be cached if we got far enough to receive an auth error
|
|
@@ -113,7 +118,7 @@ export class AmCommand extends OAuthCommand {
|
|
|
113
118
|
// Token may be expired or unavailable, skip roles info
|
|
114
119
|
}
|
|
115
120
|
}
|
|
116
|
-
if (authMethod === 'client-credentials') {
|
|
121
|
+
if (authMethod === 'client-credentials' || authMethod === 'stateful') {
|
|
117
122
|
return this.getClientCredentialsSuggestion(subtopic, rolesInfo);
|
|
118
123
|
}
|
|
119
124
|
if (authMethod === 'implicit') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"am-command.js","sourceRoot":"","sources":["../../../src/cli/am-command.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AAExD,+CAA+C;AAC/C,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,kDAAkD;AAClD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,8CAA8C;AAC9C,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,mEAAmE;AACnE,MAAM,mBAAmB,GAAG;IAC1B,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;IACrB,KAAK;IACL,KAAK;IACL,4BAA4B;IAC5B,cAAc;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAgB,SAAoC,SAAQ,YAAe;IAC5D,kBAAkB;QACnC,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAwB;IAC7C,aAAa,
|
|
1
|
+
{"version":3,"file":"am-command.js","sourceRoot":"","sources":["../../../src/cli/am-command.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AAExD,+CAA+C;AAC/C,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,kDAAkD;AAClD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,8CAA8C;AAC9C,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,mEAAmE;AACnE,MAAM,mBAAmB,GAAG;IAC1B,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;IACrB,KAAK;IACL,KAAK;IACL,4BAA4B;IAC5B,cAAc;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAgB,SAAoC,SAAQ,YAAe;IAC5D,kBAAkB;QACnC,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAwB;IAC7C,aAAa,CAAiE;IAEtF;;OAEG;IACH,IAAc,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,IAAI,CAAC,aAAa,YAAY,qBAAqB;YAAE,OAAO,UAAU,CAAC;QAC3E,IAAI,IAAI,CAAC,aAAa,YAAY,qBAAqB;YAAE,OAAO,UAAU,CAAC;QAC3E,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAc,oBAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,IAAI,CAAC,qBAAqB,GAAG,0BAA0B,CACrD;gBACE,QAAQ,EAAE,IAAI,CAAC,kBAAkB;aAClC,EACD,YAAY,CACb,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,KAAK,CAAC,GAAgC;QACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAErF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,OAAO,UAAU,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QAEvC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,yGAAyG;QACzG,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,KAAK,oBAAoB,IAAI,UAAU,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7F,IAAI,CAAC;gBACH,+EAA+E;gBAC/E,mFAAmF;gBACnF,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,oBAAoB,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,0FAA0F;QAC1F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,0DAA0D;QAC1D,uDAAuD;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAEnC,0FAA0F;QAC1F,sFAAsF;QACtF,6BAA6B;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,8BAA8B,CAAC,QAAgB,EAAE,SAAiB;QACxE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,CACL,wBAAwB,aAAa,6BAA6B;oBAClE,0EAA0E,MAAM,EAAE,CACnF,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,CACL,mEAAmE,gBAAgB,UAAU;oBAC7F,wDAAwD,MAAM,EAAE,CACjE,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO,CACL,iEAAiE;oBACjE,IAAI,gBAAgB,SAAS,YAAY,UAAU;oBACnD,sDAAsD,MAAM,EAAE,CAC/D,CAAC;YACJ;gBACE,OAAO,sEAAsE,MAAM,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB;QAC5C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,CACL,4CAA4C,gBAAgB,SAAS,aAAa,SAAS;oBAC3F,4BAA4B,CAC7B,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO,CACL,4CAA4C,gBAAgB,SAAS,YAAY,SAAS;oBAC1F,wBAAwB,CACzB,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,4CAA4C,gBAAgB,iCAAiC,CAAC;YACvG;gBACE,OAAO,gFAAgF,CAAC;QAC5F,CAAC;IACH,CAAC;CACF"}
|
|
@@ -151,6 +151,35 @@ export declare abstract class BaseCommand<T extends typeof Command> extends Comm
|
|
|
151
151
|
*/
|
|
152
152
|
protected finally(err: Error | undefined): Promise<void>;
|
|
153
153
|
baseCommandTest(): void;
|
|
154
|
+
/**
|
|
155
|
+
* Check if destructive operations are allowed based on safety level.
|
|
156
|
+
* Provides early, user-friendly error messages before HTTP requests are attempted.
|
|
157
|
+
*
|
|
158
|
+
* This is a command-level check that complements the HTTP middleware safety guard.
|
|
159
|
+
* While the middleware provides unbypassable protection, this method offers better
|
|
160
|
+
* error messages and early detection.
|
|
161
|
+
*
|
|
162
|
+
* Destructive operations include:
|
|
163
|
+
* - Deleting resources (sandboxes, users, API clients, etc.)
|
|
164
|
+
* - Resetting or wiping data
|
|
165
|
+
* - Force operations that overwrite data
|
|
166
|
+
* - Revoking access or permissions
|
|
167
|
+
*
|
|
168
|
+
* NOTE: This is optional - the HTTP middleware will catch any operations that bypass
|
|
169
|
+
* this check. Use this method for better UX when you know an operation is destructive.
|
|
170
|
+
*
|
|
171
|
+
* @param operationDescription - Description of the operation (e.g., "delete sandbox", "reset user password")
|
|
172
|
+
* @throws Error if safety level blocks the operation
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* async run() {
|
|
177
|
+
* this.assertDestructiveOperationAllowed('delete sandbox');
|
|
178
|
+
* // ... proceed with deletion
|
|
179
|
+
* }
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
protected assertDestructiveOperationAllowed(operationDescription?: string): void;
|
|
154
183
|
/**
|
|
155
184
|
* Parse extra params from --extra-query, --extra-body, and --extra-headers flags.
|
|
156
185
|
* Returns undefined if no extra params are specified.
|
|
@@ -158,6 +187,18 @@ export declare abstract class BaseCommand<T extends typeof Command> extends Comm
|
|
|
158
187
|
* @returns ExtraParamsConfig or undefined
|
|
159
188
|
*/
|
|
160
189
|
protected getExtraParams(): ExtraParamsConfig | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* Register safety middleware to block destructive operations.
|
|
192
|
+
* This provides unbypassable protection at the HTTP layer - cannot be circumvented
|
|
193
|
+
* by command-line flags since it operates on all HTTP requests.
|
|
194
|
+
*
|
|
195
|
+
* Safety level is determined by the SFCC_SAFETY_LEVEL environment variable:
|
|
196
|
+
* - NONE: No restrictions (default)
|
|
197
|
+
* - NO_DELETE: Block DELETE operations
|
|
198
|
+
* - NO_UPDATE: Block DELETE + destructive operations (reset/stop/restart)
|
|
199
|
+
* - READ_ONLY: Block all writes (GET only)
|
|
200
|
+
*/
|
|
201
|
+
private registerSafetyMiddleware;
|
|
161
202
|
/**
|
|
162
203
|
* Register extra params (query, body, headers) as global middleware.
|
|
163
204
|
* This applies to ALL HTTP clients created during command execution.
|
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
import { Command, Flags } from '@oclif/core';
|
|
7
7
|
import { loadConfig } from './config.js';
|
|
8
8
|
import { parseFriendlySandboxId } from '../operations/ods/sandbox-lookup.js';
|
|
9
|
-
import { setLanguage } from '../i18n/index.js';
|
|
9
|
+
import { setLanguage, t } from '../i18n/index.js';
|
|
10
10
|
import { configureLogger, getLogger } from '../logging/index.js';
|
|
11
|
-
import { createExtraParamsMiddleware } from '../clients/middleware.js';
|
|
11
|
+
import { createExtraParamsMiddleware, createSafetyMiddleware } from '../clients/middleware.js';
|
|
12
|
+
import { getSafetyLevel, describeSafetyLevel } from '../safety/index.js';
|
|
12
13
|
import { globalConfigSourceRegistry } from '../config/config-source-registry.js';
|
|
13
14
|
import { globalMiddlewareRegistry } from '../clients/middleware-registry.js';
|
|
14
15
|
import { globalAuthMiddlewareRegistry } from '../auth/middleware.js';
|
|
16
|
+
import { initializeStatefulStore } from '../auth/stateful-store.js';
|
|
15
17
|
import { setUserAgent } from '../clients/user-agent.js';
|
|
16
18
|
import { createTelemetry, Telemetry } from '../telemetry/index.js';
|
|
17
19
|
const LOG_LEVELS = ['trace', 'debug', 'info', 'warn', 'error', 'silent'];
|
|
@@ -121,12 +123,18 @@ export class BaseCommand extends Command {
|
|
|
121
123
|
setLanguage(this.flags.lang);
|
|
122
124
|
}
|
|
123
125
|
this.configureLogging();
|
|
126
|
+
// Initialize stateful auth store with oclif's data directory so session
|
|
127
|
+
// files are stored alongside other CLI data (e.g. ~/Library/Application Support/@salesforce/b2c-cli)
|
|
128
|
+
initializeStatefulStore(this.config.dataDir);
|
|
124
129
|
// Set CLI User-Agent (CLI name/version only, without @salesforce/ prefix)
|
|
125
130
|
// This must happen before any API clients are created
|
|
126
131
|
setUserAgent(`${this.config.name.replace(/^@salesforce\//, '')}/${this.config.version}`);
|
|
127
132
|
// Register extra params middleware (from --extra-query, --extra-body, --extra-headers flags)
|
|
128
133
|
// This must happen before any API clients are created
|
|
129
134
|
this.registerExtraParamsMiddleware();
|
|
135
|
+
// Register safety middleware FIRST (before any other middleware)
|
|
136
|
+
// This provides unbypassable protection at the HTTP layer
|
|
137
|
+
this.registerSafetyMiddleware();
|
|
130
138
|
// Collect middleware from plugins before any API clients are created
|
|
131
139
|
await this.collectPluginHttpMiddleware();
|
|
132
140
|
// Collect auth middleware from plugins before any authentication is performed
|
|
@@ -495,6 +503,55 @@ export class BaseCommand extends Command {
|
|
|
495
503
|
baseCommandTest() {
|
|
496
504
|
this.logger.info('BaseCommand initialized');
|
|
497
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* Check if destructive operations are allowed based on safety level.
|
|
508
|
+
* Provides early, user-friendly error messages before HTTP requests are attempted.
|
|
509
|
+
*
|
|
510
|
+
* This is a command-level check that complements the HTTP middleware safety guard.
|
|
511
|
+
* While the middleware provides unbypassable protection, this method offers better
|
|
512
|
+
* error messages and early detection.
|
|
513
|
+
*
|
|
514
|
+
* Destructive operations include:
|
|
515
|
+
* - Deleting resources (sandboxes, users, API clients, etc.)
|
|
516
|
+
* - Resetting or wiping data
|
|
517
|
+
* - Force operations that overwrite data
|
|
518
|
+
* - Revoking access or permissions
|
|
519
|
+
*
|
|
520
|
+
* NOTE: This is optional - the HTTP middleware will catch any operations that bypass
|
|
521
|
+
* this check. Use this method for better UX when you know an operation is destructive.
|
|
522
|
+
*
|
|
523
|
+
* @param operationDescription - Description of the operation (e.g., "delete sandbox", "reset user password")
|
|
524
|
+
* @throws Error if safety level blocks the operation
|
|
525
|
+
*
|
|
526
|
+
* @example
|
|
527
|
+
* ```typescript
|
|
528
|
+
* async run() {
|
|
529
|
+
* this.assertDestructiveOperationAllowed('delete sandbox');
|
|
530
|
+
* // ... proceed with deletion
|
|
531
|
+
* }
|
|
532
|
+
* ```
|
|
533
|
+
*/
|
|
534
|
+
assertDestructiveOperationAllowed(operationDescription) {
|
|
535
|
+
const safetyLevel = getSafetyLevel('NONE');
|
|
536
|
+
if (safetyLevel === 'NONE') {
|
|
537
|
+
return; // No restrictions
|
|
538
|
+
}
|
|
539
|
+
const operation = operationDescription || t('base.destructiveOperation', 'this destructive operation');
|
|
540
|
+
// Determine if this operation should be blocked
|
|
541
|
+
// We assume all calls to this method are for destructive operations
|
|
542
|
+
// The safety level determines blocking:
|
|
543
|
+
// - READ_ONLY: blocks all writes
|
|
544
|
+
// - NO_DELETE: blocks deletes (we assume this method is called for deletes/destructive ops)
|
|
545
|
+
// - NO_UPDATE: blocks deletes and resets
|
|
546
|
+
const shouldBlock = safetyLevel === 'READ_ONLY' || safetyLevel === 'NO_DELETE' || safetyLevel === 'NO_UPDATE';
|
|
547
|
+
if (shouldBlock) {
|
|
548
|
+
return this.error(t('base.safetyModeBlocked', 'Cannot {{operation}}: blocked by safety level {{safetyLevel}}.\n\n{{description}}\n\nTo allow this operation, unset or change the SFCC_SAFETY_LEVEL environment variable.\nSee: https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/security#operational-security-safety-mode', {
|
|
549
|
+
operation,
|
|
550
|
+
safetyLevel,
|
|
551
|
+
description: describeSafetyLevel(safetyLevel),
|
|
552
|
+
}), { exit: 1 });
|
|
553
|
+
}
|
|
554
|
+
}
|
|
498
555
|
/**
|
|
499
556
|
* Parse extra params from --extra-query, --extra-body, and --extra-headers flags.
|
|
500
557
|
* Returns undefined if no extra params are specified.
|
|
@@ -535,6 +592,31 @@ export class BaseCommand extends Command {
|
|
|
535
592
|
}
|
|
536
593
|
return config;
|
|
537
594
|
}
|
|
595
|
+
/**
|
|
596
|
+
* Register safety middleware to block destructive operations.
|
|
597
|
+
* This provides unbypassable protection at the HTTP layer - cannot be circumvented
|
|
598
|
+
* by command-line flags since it operates on all HTTP requests.
|
|
599
|
+
*
|
|
600
|
+
* Safety level is determined by the SFCC_SAFETY_LEVEL environment variable:
|
|
601
|
+
* - NONE: No restrictions (default)
|
|
602
|
+
* - NO_DELETE: Block DELETE operations
|
|
603
|
+
* - NO_UPDATE: Block DELETE + destructive operations (reset/stop/restart)
|
|
604
|
+
* - READ_ONLY: Block all writes (GET only)
|
|
605
|
+
*/
|
|
606
|
+
registerSafetyMiddleware() {
|
|
607
|
+
const safetyLevel = getSafetyLevel('NONE');
|
|
608
|
+
// Only register if safety is enabled
|
|
609
|
+
if (safetyLevel === 'NONE')
|
|
610
|
+
return;
|
|
611
|
+
// Safety mode is silent until it blocks something
|
|
612
|
+
// Error messages will be shown when operations are actually blocked
|
|
613
|
+
globalMiddlewareRegistry.register({
|
|
614
|
+
name: 'cli-safety-guard',
|
|
615
|
+
getMiddleware() {
|
|
616
|
+
return createSafetyMiddleware({ level: safetyLevel });
|
|
617
|
+
},
|
|
618
|
+
});
|
|
619
|
+
}
|
|
538
620
|
/**
|
|
539
621
|
* Register extra params (query, body, headers) as global middleware.
|
|
540
622
|
* This applies to ALL HTTP clients created during command execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../../src/cli/base-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../../src/cli/base-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,14 +41,14 @@ export declare abstract class InstanceCommand<T extends typeof Command> extends
|
|
|
41
41
|
passphrase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
42
42
|
selfsigned: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
43
43
|
verify: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
44
|
-
'client-id': import("@oclif/core/interfaces").OptionFlag<string
|
|
45
|
-
'client-secret': import("@oclif/core/interfaces").OptionFlag<string
|
|
44
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
45
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
46
46
|
'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
47
47
|
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
48
48
|
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
49
49
|
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
50
50
|
'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
51
|
-
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string
|
|
51
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
52
52
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
53
53
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
54
54
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -4,6 +4,7 @@ import type { AuthMethod } from './config.js';
|
|
|
4
4
|
import type { ResolvedB2CConfig } from '../config/index.js';
|
|
5
5
|
import { OAuthStrategy } from '../auth/oauth.js';
|
|
6
6
|
import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
|
|
7
|
+
import { StatefulOAuthStrategy } from '../auth/stateful-oauth-strategy.js';
|
|
7
8
|
/**
|
|
8
9
|
* Base command for operations requiring OAuth authentication.
|
|
9
10
|
* Use this for platform-level operations like ODS, APIs.
|
|
@@ -15,15 +16,17 @@ import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
|
|
|
15
16
|
* For B2C instance specific operations, use InstanceCommand instead.
|
|
16
17
|
*/
|
|
17
18
|
export declare abstract class OAuthCommand<T extends typeof Command> extends BaseCommand<T> {
|
|
19
|
+
private readonly _rawArgv;
|
|
20
|
+
constructor(argv: string[], config: ConstructorParameters<typeof Command>[1]);
|
|
18
21
|
static baseFlags: {
|
|
19
|
-
'client-id': import("@oclif/core/interfaces").OptionFlag<string
|
|
20
|
-
'client-secret': import("@oclif/core/interfaces").OptionFlag<string
|
|
22
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
24
|
'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
25
|
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
26
|
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
27
|
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
28
|
'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
|
-
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string
|
|
29
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
30
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
31
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
32
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -66,7 +69,19 @@ export declare abstract class OAuthCommand<T extends typeof Command> extends Bas
|
|
|
66
69
|
*
|
|
67
70
|
* @throws Error if no allowed method has the required credentials configured
|
|
68
71
|
*/
|
|
69
|
-
protected getOAuthStrategy(): OAuthStrategy | ImplicitOAuthStrategy;
|
|
72
|
+
protected getOAuthStrategy(): OAuthStrategy | ImplicitOAuthStrategy | StatefulOAuthStrategy;
|
|
73
|
+
/**
|
|
74
|
+
* Detects explicit CLI flags that indicate intent to use stateless auth.
|
|
75
|
+
* Only flags that mandate a specific auth flow are considered:
|
|
76
|
+
* - --client-secret: indicates client-credentials flow
|
|
77
|
+
* - --user-auth: indicates browser-based implicit flow
|
|
78
|
+
* - --auth-methods: explicit auth method selection
|
|
79
|
+
*
|
|
80
|
+
* Contextual flags (--client-id, --auth-scope, --short-code, --tenant-id,
|
|
81
|
+
* --account-manager-host) are NOT included because they are handled by
|
|
82
|
+
* isStatefulTokenValid (clientId/scope matching) or don't affect auth flow.
|
|
83
|
+
*/
|
|
84
|
+
private detectExplicitAuthFlags;
|
|
70
85
|
/**
|
|
71
86
|
* Check if OAuth credentials are available.
|
|
72
87
|
* Returns true if clientId is configured (with or without clientSecret),
|
|
@@ -8,6 +8,8 @@ import { BaseCommand } from './base-command.js';
|
|
|
8
8
|
import { loadConfig, extractOAuthFlags, ALL_AUTH_METHODS } from './config.js';
|
|
9
9
|
import { OAuthStrategy } from '../auth/oauth.js';
|
|
10
10
|
import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
|
|
11
|
+
import { StatefulOAuthStrategy } from '../auth/stateful-oauth-strategy.js';
|
|
12
|
+
import { getStoredSession, isStatefulTokenValid } from '../auth/stateful-store.js';
|
|
11
13
|
import { t } from '../i18n/index.js';
|
|
12
14
|
import { DEFAULT_ACCOUNT_MANAGER_HOST } from '../defaults.js';
|
|
13
15
|
import { normalizeTenantId } from '../clients/custom-apis.js';
|
|
@@ -27,16 +29,23 @@ const DEFAULT_OAUTH_AUTH_METHODS = ['client-credentials', 'implicit'];
|
|
|
27
29
|
* For B2C instance specific operations, use InstanceCommand instead.
|
|
28
30
|
*/
|
|
29
31
|
export class OAuthCommand extends BaseCommand {
|
|
32
|
+
_rawArgv;
|
|
33
|
+
constructor(argv, config) {
|
|
34
|
+
super(argv, config);
|
|
35
|
+
this._rawArgv = [...argv];
|
|
36
|
+
}
|
|
30
37
|
static baseFlags = {
|
|
31
38
|
...BaseCommand.baseFlags,
|
|
32
39
|
'client-id': Flags.string({
|
|
33
40
|
description: 'Client ID for OAuth',
|
|
34
41
|
env: 'SFCC_CLIENT_ID',
|
|
42
|
+
default: async () => process.env.SFCC_OAUTH_CLIENT_ID || undefined,
|
|
35
43
|
helpGroup: 'AUTH',
|
|
36
44
|
}),
|
|
37
45
|
'client-secret': Flags.string({
|
|
38
46
|
description: 'Client Secret for OAuth',
|
|
39
47
|
env: 'SFCC_CLIENT_SECRET',
|
|
48
|
+
default: async () => process.env.SFCC_OAUTH_CLIENT_SECRET || undefined,
|
|
40
49
|
helpGroup: 'AUTH',
|
|
41
50
|
}),
|
|
42
51
|
'auth-scope': Flags.string({
|
|
@@ -77,6 +86,7 @@ export class OAuthCommand extends BaseCommand {
|
|
|
77
86
|
'account-manager-host': Flags.string({
|
|
78
87
|
description: `Account Manager hostname for OAuth (default: ${DEFAULT_ACCOUNT_MANAGER_HOST})`,
|
|
79
88
|
env: 'SFCC_ACCOUNT_MANAGER_HOST',
|
|
89
|
+
default: async () => process.env.SFCC_LOGIN_URL || undefined,
|
|
80
90
|
helpGroup: 'AUTH',
|
|
81
91
|
}),
|
|
82
92
|
};
|
|
@@ -121,7 +131,36 @@ export class OAuthCommand extends BaseCommand {
|
|
|
121
131
|
getOAuthStrategy() {
|
|
122
132
|
const config = this.resolvedConfig.values;
|
|
123
133
|
const accountManagerHost = this.accountManagerHost;
|
|
124
|
-
|
|
134
|
+
const requiredScopes = config.scopes ?? [];
|
|
135
|
+
const statefulSession = getStoredSession();
|
|
136
|
+
const explicitAuthFlags = this.detectExplicitAuthFlags();
|
|
137
|
+
const configuredClientId = config.clientId;
|
|
138
|
+
const validSession = statefulSession !== null && isStatefulTokenValid(statefulSession, requiredScopes, undefined, configuredClientId);
|
|
139
|
+
// Use stateful auth only when the session is valid and no explicit auth flags override it
|
|
140
|
+
if (validSession && explicitAuthFlags.length === 0) {
|
|
141
|
+
this.logger.debug('[Auth] Using stateful session');
|
|
142
|
+
return new StatefulOAuthStrategy(statefulSession, {
|
|
143
|
+
accountManagerHost,
|
|
144
|
+
scopes: requiredScopes,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// Warn when an invalid stored session exists or explicit auth flags override a valid one
|
|
148
|
+
if (statefulSession) {
|
|
149
|
+
if (validSession && explicitAuthFlags.length > 0) {
|
|
150
|
+
this.warn(t('warning.statefulTokenOverridden', '[StatefulAuth] Valid token found in stored session. ' +
|
|
151
|
+
`However, switching to stateless auth due to presence of ${explicitAuthFlags.join(', ')}. ` +
|
|
152
|
+
'Remove these flags to use the stored session.'));
|
|
153
|
+
}
|
|
154
|
+
else if (!validSession) {
|
|
155
|
+
const renewable = statefulSession.renewBase !== null && statefulSession.renewBase !== undefined;
|
|
156
|
+
this.warn(t(renewable ? 'warning.statefulTokenExpired' : 'warning.statefulTokenExpiredNoRenew', '[StatefulAuth] [sfcc-ci compatibility] Stored token is expired or invalid for the given request. ' +
|
|
157
|
+
(renewable
|
|
158
|
+
? 'Run `b2c auth client renew` to refresh it. '
|
|
159
|
+
: 'Run `b2c auth client` or `b2c auth login` to re-authenticate. ') +
|
|
160
|
+
'Falling back to stateless auth.'));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Fall back to stateless auth
|
|
125
164
|
const allowedMethods = config.authMethods || this.getDefaultAuthMethods();
|
|
126
165
|
const defaultClientId = this.getDefaultClientId();
|
|
127
166
|
for (const method of allowedMethods) {
|
|
@@ -159,13 +198,29 @@ export class OAuthCommand extends BaseCommand {
|
|
|
159
198
|
throw new Error(t('error.noValidAuthMethod', `No valid auth method available. Allowed methods: [${methodsStr}]. ` +
|
|
160
199
|
`Ensure required credentials are configured for at least one method.`));
|
|
161
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Detects explicit CLI flags that indicate intent to use stateless auth.
|
|
203
|
+
* Only flags that mandate a specific auth flow are considered:
|
|
204
|
+
* - --client-secret: indicates client-credentials flow
|
|
205
|
+
* - --user-auth: indicates browser-based implicit flow
|
|
206
|
+
* - --auth-methods: explicit auth method selection
|
|
207
|
+
*
|
|
208
|
+
* Contextual flags (--client-id, --auth-scope, --short-code, --tenant-id,
|
|
209
|
+
* --account-manager-host) are NOT included because they are handled by
|
|
210
|
+
* isStatefulTokenValid (clientId/scope matching) or don't affect auth flow.
|
|
211
|
+
*/
|
|
212
|
+
detectExplicitAuthFlags() {
|
|
213
|
+
const rawArgs = this._rawArgv;
|
|
214
|
+
const statelessFlags = ['--client-secret', '--user-auth', '--auth-methods'];
|
|
215
|
+
return statelessFlags.filter((flag) => rawArgs.some((arg) => arg === flag || arg.startsWith(`${flag}=`)));
|
|
216
|
+
}
|
|
162
217
|
/**
|
|
163
218
|
* Check if OAuth credentials are available.
|
|
164
219
|
* Returns true if clientId is configured (with or without clientSecret),
|
|
165
220
|
* or if a default client ID is available for implicit flows.
|
|
166
221
|
*/
|
|
167
222
|
hasOAuthCredentials() {
|
|
168
|
-
return this.resolvedConfig.hasOAuthConfig() || this.getDefaultClientId() !== undefined;
|
|
223
|
+
return (this.resolvedConfig.hasOAuthConfig() || this.getDefaultClientId() !== undefined || getStoredSession() !== null);
|
|
169
224
|
}
|
|
170
225
|
/**
|
|
171
226
|
* Check if full OAuth credentials (client credentials flow) are available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAU,KAAK,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAG5E,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAC,CAAC,EAAC,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAC,4BAA4B,EAAC,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,MAAM,0BAA0B,GAAiB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAEpF;;;;;;;;;GASG;AACH,MAAM,OAAgB,YAAuC,SAAQ,WAAc;
|
|
1
|
+
{"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,14 +27,14 @@ export declare abstract class OdsCommand<T extends typeof Command> extends OAuth
|
|
|
27
27
|
protected getDefaultClientId(): string;
|
|
28
28
|
static baseFlags: {
|
|
29
29
|
'sandbox-api-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
-
'client-id': import("@oclif/core/interfaces").OptionFlag<string
|
|
31
|
-
'client-secret': import("@oclif/core/interfaces").OptionFlag<string
|
|
30
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
32
|
'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
33
|
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
34
|
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
35
|
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
36
|
'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
37
|
-
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string
|
|
37
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
38
38
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
39
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
40
40
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -58,14 +58,14 @@ export declare abstract class WebDavCommand<T extends typeof Command> extends In
|
|
|
58
58
|
passphrase: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
59
59
|
selfsigned: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
60
60
|
verify: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
61
|
-
'client-id': import("@oclif/core/interfaces").OptionFlag<string
|
|
62
|
-
'client-secret': import("@oclif/core/interfaces").OptionFlag<string
|
|
61
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
62
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
63
63
|
'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
64
64
|
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
65
65
|
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
66
66
|
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
67
67
|
'user-auth': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
68
|
-
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string
|
|
68
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
69
69
|
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
70
70
|
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
71
71
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -643,7 +643,13 @@ export function createAccountManagerOrgsClient(config, auth) {
|
|
|
643
643
|
logger.trace({
|
|
644
644
|
method: processedRequest.method,
|
|
645
645
|
url: processedRequest.url,
|
|
646
|
-
headers:
|
|
646
|
+
headers: (() => {
|
|
647
|
+
const o = {};
|
|
648
|
+
processedRequest.headers.forEach((value, key) => {
|
|
649
|
+
o[key] = value;
|
|
650
|
+
});
|
|
651
|
+
return o;
|
|
652
|
+
})(),
|
|
647
653
|
}, '[AM-ORGS] Request details');
|
|
648
654
|
return processedRequest;
|
|
649
655
|
}
|