@salesforce/b2c-tooling-sdk 0.7.0 → 0.8.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/dist/cjs/config/resolved-config.js +4 -1
- package/dist/cjs/config/resolved-config.js.map +1 -1
- package/dist/cjs/config/types.d.ts +2 -0
- package/dist/cjs/slas/token.js +60 -16
- package/dist/cjs/slas/token.js.map +1 -1
- package/dist/esm/config/resolved-config.js +4 -1
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/types.d.ts +2 -0
- package/dist/esm/slas/token.js +60 -16
- package/dist/esm/slas/token.js.map +1 -1
- package/package.json +1 -1
|
@@ -47,10 +47,13 @@ export class ResolvedConfigImpl {
|
|
|
47
47
|
if (!this.hasOAuthConfig()) {
|
|
48
48
|
throw new Error('OAuth requires clientId');
|
|
49
49
|
}
|
|
50
|
+
const configScopes = this.values.scopes ?? [];
|
|
51
|
+
const additionalScopes = options?.scopes ?? [];
|
|
52
|
+
const mergedScopes = additionalScopes.length > 0 ? [...new Set([...configScopes, ...additionalScopes])] : configScopes;
|
|
50
53
|
const credentials = {
|
|
51
54
|
clientId: this.values.clientId,
|
|
52
55
|
clientSecret: this.values.clientSecret,
|
|
53
|
-
scopes:
|
|
56
|
+
scopes: mergedScopes.length > 0 ? mergedScopes : undefined,
|
|
54
57
|
accountManagerHost: this.values.accountManagerHost,
|
|
55
58
|
};
|
|
56
59
|
return resolveAuthStrategy(credentials, { allowedMethods: options?.allowedMethods });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-config.js","sourceRoot":"","sources":["../../../src/config/resolved-config.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AAStD;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAElB;IACA;IACA;IAHX,YACW,MAAwB,EACxB,QAAyB,EACzB,OAA2B;QAF3B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,YAAO,GAAP,OAAO,CAAoB;IACnC,CAAC;IAEJ,qBAAqB;IAErB,oBAAoB;QAClB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,cAAc;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;QAChB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,kBAAkB;IAElB,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;IAC7E,CAAC;IAED,WAAW,CAAC,OAA4B;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,WAAW,GAAoB;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"resolved-config.js","sourceRoot":"","sources":["../../../src/config/resolved-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -250,6 +250,8 @@ export interface ConfigSource {
|
|
|
250
250
|
export interface CreateOAuthOptions {
|
|
251
251
|
/** Allowed OAuth methods (default: ['client-credentials', 'implicit']) */
|
|
252
252
|
allowedMethods?: AuthMethod[];
|
|
253
|
+
/** Additional OAuth scopes to request beyond those in config */
|
|
254
|
+
scopes?: string[];
|
|
253
255
|
}
|
|
254
256
|
/**
|
|
255
257
|
* Result of configuration resolution with factory methods.
|
package/dist/cjs/slas/token.js
CHANGED
|
@@ -49,6 +49,31 @@ async function checkResponse(response, context) {
|
|
|
49
49
|
}
|
|
50
50
|
throw new Error(`SLAS ${context} failed (HTTP ${response.status})${detail}`);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Helper to collect response headers as a plain object for logging.
|
|
54
|
+
*/
|
|
55
|
+
function serializeHeaders(response) {
|
|
56
|
+
const headers = {};
|
|
57
|
+
response.headers.forEach((value, key) => {
|
|
58
|
+
headers[key] = value;
|
|
59
|
+
});
|
|
60
|
+
return headers;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Performs a logged fetch request following the Auth logging conventions.
|
|
64
|
+
* Returns the response (caller must check status).
|
|
65
|
+
*/
|
|
66
|
+
async function loggedFetch(url, init) {
|
|
67
|
+
const logger = getLogger();
|
|
68
|
+
const method = init.method ?? 'GET';
|
|
69
|
+
logger.debug({ method, url }, `[SLAS REQ] ${method} ${url}`);
|
|
70
|
+
logger.trace({ method, url, headers: init.headers, body: init.body?.toString() }, `[SLAS REQ BODY] ${method} ${url}`);
|
|
71
|
+
const startTime = Date.now();
|
|
72
|
+
const response = await fetch(url, init);
|
|
73
|
+
const duration = Date.now() - startTime;
|
|
74
|
+
logger.debug({ method, url, status: response.status, duration }, `[SLAS RESP] ${method} ${url} ${response.status} ${duration}ms`);
|
|
75
|
+
return { response, duration };
|
|
76
|
+
}
|
|
52
77
|
/**
|
|
53
78
|
* Retrieves a guest shopper access token from SLAS.
|
|
54
79
|
*
|
|
@@ -63,7 +88,7 @@ export async function getGuestToken(config) {
|
|
|
63
88
|
if (config.slasClientSecret) {
|
|
64
89
|
return getPrivateClientGuestToken(config);
|
|
65
90
|
}
|
|
66
|
-
logger.debug('Using public client PKCE guest flow');
|
|
91
|
+
logger.debug({ clientId: config.slasClientId }, '[SLAS] Using public client PKCE guest flow');
|
|
67
92
|
const baseUrl = buildBaseUrl(config.shortCode, config.organizationId);
|
|
68
93
|
const verifier = generateCodeVerifier();
|
|
69
94
|
const challenge = generateCodeChallenge(verifier);
|
|
@@ -76,9 +101,10 @@ export async function getGuestToken(config) {
|
|
|
76
101
|
code_challenge: challenge,
|
|
77
102
|
});
|
|
78
103
|
const authorizeUrl = `${baseUrl}/oauth2/authorize?${authorizeParams.toString()}`;
|
|
79
|
-
|
|
80
|
-
const authorizeResponse = await fetch(authorizeUrl, { redirect: 'manual' });
|
|
104
|
+
const { response: authorizeResponse } = await loggedFetch(authorizeUrl, { redirect: 'manual' });
|
|
81
105
|
if (authorizeResponse.status !== 303) {
|
|
106
|
+
const respHeaders = serializeHeaders(authorizeResponse);
|
|
107
|
+
logger.trace({ headers: respHeaders }, `[SLAS RESP BODY] GET ${authorizeUrl}`);
|
|
82
108
|
await checkResponse(authorizeResponse, 'authorize');
|
|
83
109
|
throw new Error(`Expected 303 redirect from SLAS authorize, got ${authorizeResponse.status}`);
|
|
84
110
|
}
|
|
@@ -87,7 +113,7 @@ export async function getGuestToken(config) {
|
|
|
87
113
|
throw new Error('SLAS authorize response missing Location header');
|
|
88
114
|
}
|
|
89
115
|
const { code, usid } = parseRedirectCode(location);
|
|
90
|
-
logger.debug({ usid }, 'Got authorization code
|
|
116
|
+
logger.debug({ usid }, '[SLAS] Got authorization code');
|
|
91
117
|
// Step 2: Exchange code for token
|
|
92
118
|
const tokenBody = new URLSearchParams({
|
|
93
119
|
grant_type: 'authorization_code_pkce',
|
|
@@ -98,27 +124,32 @@ export async function getGuestToken(config) {
|
|
|
98
124
|
channel_id: config.siteId,
|
|
99
125
|
usid,
|
|
100
126
|
});
|
|
101
|
-
const
|
|
127
|
+
const tokenUrl = `${baseUrl}/oauth2/token`;
|
|
128
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
102
129
|
method: 'POST',
|
|
103
130
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
104
131
|
body: tokenBody,
|
|
105
132
|
});
|
|
106
133
|
await checkResponse(tokenResponse, 'token exchange (authorization_code_pkce)');
|
|
107
|
-
|
|
134
|
+
const data = (await tokenResponse.json());
|
|
135
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
136
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
137
|
+
return data;
|
|
108
138
|
}
|
|
109
139
|
/**
|
|
110
140
|
* Private client guest token via client_credentials grant.
|
|
111
141
|
*/
|
|
112
142
|
async function getPrivateClientGuestToken(config) {
|
|
113
143
|
const logger = getLogger();
|
|
114
|
-
logger.debug('Using private client client_credentials guest flow');
|
|
144
|
+
logger.debug({ clientId: config.slasClientId }, '[SLAS] Using private client client_credentials guest flow');
|
|
115
145
|
const baseUrl = buildBaseUrl(config.shortCode, config.organizationId);
|
|
116
146
|
const basicAuth = Buffer.from(`${config.slasClientId}:${config.slasClientSecret}`).toString('base64');
|
|
117
147
|
const tokenBody = new URLSearchParams({
|
|
118
148
|
grant_type: 'client_credentials',
|
|
119
149
|
channel_id: config.siteId,
|
|
120
150
|
});
|
|
121
|
-
const
|
|
151
|
+
const tokenUrl = `${baseUrl}/oauth2/token`;
|
|
152
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
122
153
|
method: 'POST',
|
|
123
154
|
headers: {
|
|
124
155
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
@@ -127,7 +158,10 @@ async function getPrivateClientGuestToken(config) {
|
|
|
127
158
|
body: tokenBody,
|
|
128
159
|
});
|
|
129
160
|
await checkResponse(tokenResponse, 'token (client_credentials)');
|
|
130
|
-
|
|
161
|
+
const data = (await tokenResponse.json());
|
|
162
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
163
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
164
|
+
return data;
|
|
131
165
|
}
|
|
132
166
|
/**
|
|
133
167
|
* Retrieves a registered customer access token from SLAS.
|
|
@@ -145,7 +179,7 @@ export async function getRegisteredToken(config) {
|
|
|
145
179
|
const logger = getLogger();
|
|
146
180
|
const baseUrl = buildBaseUrl(config.shortCode, config.organizationId);
|
|
147
181
|
const isPrivate = Boolean(config.slasClientSecret);
|
|
148
|
-
logger.debug({ isPrivate }, 'Using registered customer login flow');
|
|
182
|
+
logger.debug({ clientId: config.slasClientId, isPrivate }, '[SLAS] Using registered customer login flow');
|
|
149
183
|
const verifier = generateCodeVerifier();
|
|
150
184
|
const challenge = generateCodeChallenge(verifier);
|
|
151
185
|
// Step 1: Login with shopper credentials
|
|
@@ -156,7 +190,8 @@ export async function getRegisteredToken(config) {
|
|
|
156
190
|
code_challenge: challenge,
|
|
157
191
|
redirect_uri: config.redirectUri,
|
|
158
192
|
});
|
|
159
|
-
const
|
|
193
|
+
const loginUrl = `${baseUrl}/oauth2/login`;
|
|
194
|
+
const { response: loginResponse } = await loggedFetch(loginUrl, {
|
|
160
195
|
method: 'POST',
|
|
161
196
|
headers: {
|
|
162
197
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
@@ -166,6 +201,8 @@ export async function getRegisteredToken(config) {
|
|
|
166
201
|
redirect: 'manual',
|
|
167
202
|
});
|
|
168
203
|
if (loginResponse.status !== 303) {
|
|
204
|
+
const respHeaders = serializeHeaders(loginResponse);
|
|
205
|
+
logger.trace({ headers: respHeaders }, `[SLAS RESP BODY] POST ${loginUrl}`);
|
|
169
206
|
await checkResponse(loginResponse, 'login');
|
|
170
207
|
throw new Error(`Expected 303 redirect from SLAS login, got ${loginResponse.status}`);
|
|
171
208
|
}
|
|
@@ -174,8 +211,9 @@ export async function getRegisteredToken(config) {
|
|
|
174
211
|
throw new Error('SLAS login response missing Location header');
|
|
175
212
|
}
|
|
176
213
|
const { code, usid } = parseRedirectCode(location);
|
|
177
|
-
logger.debug({ usid }, 'Got authorization code from
|
|
214
|
+
logger.debug({ usid }, '[SLAS] Got authorization code from login');
|
|
178
215
|
// Step 2: Exchange code for token
|
|
216
|
+
const tokenUrl = `${baseUrl}/oauth2/token`;
|
|
179
217
|
if (isPrivate) {
|
|
180
218
|
const basicAuth = Buffer.from(`${config.slasClientId}:${config.slasClientSecret}`).toString('base64');
|
|
181
219
|
const tokenBody = new URLSearchParams({
|
|
@@ -185,7 +223,7 @@ export async function getRegisteredToken(config) {
|
|
|
185
223
|
channel_id: config.siteId,
|
|
186
224
|
usid,
|
|
187
225
|
});
|
|
188
|
-
const tokenResponse = await
|
|
226
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
189
227
|
method: 'POST',
|
|
190
228
|
headers: {
|
|
191
229
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
@@ -194,7 +232,10 @@ export async function getRegisteredToken(config) {
|
|
|
194
232
|
body: tokenBody,
|
|
195
233
|
});
|
|
196
234
|
await checkResponse(tokenResponse, 'token exchange (authorization_code)');
|
|
197
|
-
|
|
235
|
+
const data = (await tokenResponse.json());
|
|
236
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
237
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
238
|
+
return data;
|
|
198
239
|
}
|
|
199
240
|
// Public client — use PKCE
|
|
200
241
|
const tokenBody = new URLSearchParams({
|
|
@@ -206,12 +247,15 @@ export async function getRegisteredToken(config) {
|
|
|
206
247
|
channel_id: config.siteId,
|
|
207
248
|
usid,
|
|
208
249
|
});
|
|
209
|
-
const tokenResponse = await
|
|
250
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
210
251
|
method: 'POST',
|
|
211
252
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
212
253
|
body: tokenBody,
|
|
213
254
|
});
|
|
214
255
|
await checkResponse(tokenResponse, 'token exchange (authorization_code_pkce)');
|
|
215
|
-
|
|
256
|
+
const data = (await tokenResponse.json());
|
|
257
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
258
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
259
|
+
return data;
|
|
216
260
|
}
|
|
217
261
|
//# sourceMappingURL=token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/slas/token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,WAAW,CAAC;AAGtE;;GAEG;AACH,SAAS,YAAY,CAAC,SAAiB,EAAE,cAAsB;IAC7D,OAAO,WAAW,SAAS,mEAAmE,cAAc,EAAE,CAAC;AACjH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+DAA+D,cAAc,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,QAAkB,EAAE,OAAe;IAC9D,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAO;IAExB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,iBAAiB,QAAQ,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAuB;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/slas/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,10 +47,13 @@ export class ResolvedConfigImpl {
|
|
|
47
47
|
if (!this.hasOAuthConfig()) {
|
|
48
48
|
throw new Error('OAuth requires clientId');
|
|
49
49
|
}
|
|
50
|
+
const configScopes = this.values.scopes ?? [];
|
|
51
|
+
const additionalScopes = options?.scopes ?? [];
|
|
52
|
+
const mergedScopes = additionalScopes.length > 0 ? [...new Set([...configScopes, ...additionalScopes])] : configScopes;
|
|
50
53
|
const credentials = {
|
|
51
54
|
clientId: this.values.clientId,
|
|
52
55
|
clientSecret: this.values.clientSecret,
|
|
53
|
-
scopes:
|
|
56
|
+
scopes: mergedScopes.length > 0 ? mergedScopes : undefined,
|
|
54
57
|
accountManagerHost: this.values.accountManagerHost,
|
|
55
58
|
};
|
|
56
59
|
return resolveAuthStrategy(credentials, { allowedMethods: options?.allowedMethods });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolved-config.js","sourceRoot":"","sources":["../../../src/config/resolved-config.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AAStD;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAElB;IACA;IACA;IAHX,YACW,MAAwB,EACxB,QAAyB,EACzB,OAA2B;QAF3B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,YAAO,GAAP,OAAO,CAAoB;IACnC,CAAC;IAEJ,qBAAqB;IAErB,oBAAoB;QAClB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,cAAc;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;QAChB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,kBAAkB;IAElB,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;IAC7E,CAAC;IAED,WAAW,CAAC,OAA4B;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,WAAW,GAAoB;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"resolved-config.js","sourceRoot":"","sources":["../../../src/config/resolved-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -250,6 +250,8 @@ export interface ConfigSource {
|
|
|
250
250
|
export interface CreateOAuthOptions {
|
|
251
251
|
/** Allowed OAuth methods (default: ['client-credentials', 'implicit']) */
|
|
252
252
|
allowedMethods?: AuthMethod[];
|
|
253
|
+
/** Additional OAuth scopes to request beyond those in config */
|
|
254
|
+
scopes?: string[];
|
|
253
255
|
}
|
|
254
256
|
/**
|
|
255
257
|
* Result of configuration resolution with factory methods.
|
package/dist/esm/slas/token.js
CHANGED
|
@@ -49,6 +49,31 @@ async function checkResponse(response, context) {
|
|
|
49
49
|
}
|
|
50
50
|
throw new Error(`SLAS ${context} failed (HTTP ${response.status})${detail}`);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Helper to collect response headers as a plain object for logging.
|
|
54
|
+
*/
|
|
55
|
+
function serializeHeaders(response) {
|
|
56
|
+
const headers = {};
|
|
57
|
+
response.headers.forEach((value, key) => {
|
|
58
|
+
headers[key] = value;
|
|
59
|
+
});
|
|
60
|
+
return headers;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Performs a logged fetch request following the Auth logging conventions.
|
|
64
|
+
* Returns the response (caller must check status).
|
|
65
|
+
*/
|
|
66
|
+
async function loggedFetch(url, init) {
|
|
67
|
+
const logger = getLogger();
|
|
68
|
+
const method = init.method ?? 'GET';
|
|
69
|
+
logger.debug({ method, url }, `[SLAS REQ] ${method} ${url}`);
|
|
70
|
+
logger.trace({ method, url, headers: init.headers, body: init.body?.toString() }, `[SLAS REQ BODY] ${method} ${url}`);
|
|
71
|
+
const startTime = Date.now();
|
|
72
|
+
const response = await fetch(url, init);
|
|
73
|
+
const duration = Date.now() - startTime;
|
|
74
|
+
logger.debug({ method, url, status: response.status, duration }, `[SLAS RESP] ${method} ${url} ${response.status} ${duration}ms`);
|
|
75
|
+
return { response, duration };
|
|
76
|
+
}
|
|
52
77
|
/**
|
|
53
78
|
* Retrieves a guest shopper access token from SLAS.
|
|
54
79
|
*
|
|
@@ -63,7 +88,7 @@ export async function getGuestToken(config) {
|
|
|
63
88
|
if (config.slasClientSecret) {
|
|
64
89
|
return getPrivateClientGuestToken(config);
|
|
65
90
|
}
|
|
66
|
-
logger.debug('Using public client PKCE guest flow');
|
|
91
|
+
logger.debug({ clientId: config.slasClientId }, '[SLAS] Using public client PKCE guest flow');
|
|
67
92
|
const baseUrl = buildBaseUrl(config.shortCode, config.organizationId);
|
|
68
93
|
const verifier = generateCodeVerifier();
|
|
69
94
|
const challenge = generateCodeChallenge(verifier);
|
|
@@ -76,9 +101,10 @@ export async function getGuestToken(config) {
|
|
|
76
101
|
code_challenge: challenge,
|
|
77
102
|
});
|
|
78
103
|
const authorizeUrl = `${baseUrl}/oauth2/authorize?${authorizeParams.toString()}`;
|
|
79
|
-
|
|
80
|
-
const authorizeResponse = await fetch(authorizeUrl, { redirect: 'manual' });
|
|
104
|
+
const { response: authorizeResponse } = await loggedFetch(authorizeUrl, { redirect: 'manual' });
|
|
81
105
|
if (authorizeResponse.status !== 303) {
|
|
106
|
+
const respHeaders = serializeHeaders(authorizeResponse);
|
|
107
|
+
logger.trace({ headers: respHeaders }, `[SLAS RESP BODY] GET ${authorizeUrl}`);
|
|
82
108
|
await checkResponse(authorizeResponse, 'authorize');
|
|
83
109
|
throw new Error(`Expected 303 redirect from SLAS authorize, got ${authorizeResponse.status}`);
|
|
84
110
|
}
|
|
@@ -87,7 +113,7 @@ export async function getGuestToken(config) {
|
|
|
87
113
|
throw new Error('SLAS authorize response missing Location header');
|
|
88
114
|
}
|
|
89
115
|
const { code, usid } = parseRedirectCode(location);
|
|
90
|
-
logger.debug({ usid }, 'Got authorization code
|
|
116
|
+
logger.debug({ usid }, '[SLAS] Got authorization code');
|
|
91
117
|
// Step 2: Exchange code for token
|
|
92
118
|
const tokenBody = new URLSearchParams({
|
|
93
119
|
grant_type: 'authorization_code_pkce',
|
|
@@ -98,27 +124,32 @@ export async function getGuestToken(config) {
|
|
|
98
124
|
channel_id: config.siteId,
|
|
99
125
|
usid,
|
|
100
126
|
});
|
|
101
|
-
const
|
|
127
|
+
const tokenUrl = `${baseUrl}/oauth2/token`;
|
|
128
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
102
129
|
method: 'POST',
|
|
103
130
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
104
131
|
body: tokenBody,
|
|
105
132
|
});
|
|
106
133
|
await checkResponse(tokenResponse, 'token exchange (authorization_code_pkce)');
|
|
107
|
-
|
|
134
|
+
const data = (await tokenResponse.json());
|
|
135
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
136
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
137
|
+
return data;
|
|
108
138
|
}
|
|
109
139
|
/**
|
|
110
140
|
* Private client guest token via client_credentials grant.
|
|
111
141
|
*/
|
|
112
142
|
async function getPrivateClientGuestToken(config) {
|
|
113
143
|
const logger = getLogger();
|
|
114
|
-
logger.debug('Using private client client_credentials guest flow');
|
|
144
|
+
logger.debug({ clientId: config.slasClientId }, '[SLAS] Using private client client_credentials guest flow');
|
|
115
145
|
const baseUrl = buildBaseUrl(config.shortCode, config.organizationId);
|
|
116
146
|
const basicAuth = Buffer.from(`${config.slasClientId}:${config.slasClientSecret}`).toString('base64');
|
|
117
147
|
const tokenBody = new URLSearchParams({
|
|
118
148
|
grant_type: 'client_credentials',
|
|
119
149
|
channel_id: config.siteId,
|
|
120
150
|
});
|
|
121
|
-
const
|
|
151
|
+
const tokenUrl = `${baseUrl}/oauth2/token`;
|
|
152
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
122
153
|
method: 'POST',
|
|
123
154
|
headers: {
|
|
124
155
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
@@ -127,7 +158,10 @@ async function getPrivateClientGuestToken(config) {
|
|
|
127
158
|
body: tokenBody,
|
|
128
159
|
});
|
|
129
160
|
await checkResponse(tokenResponse, 'token (client_credentials)');
|
|
130
|
-
|
|
161
|
+
const data = (await tokenResponse.json());
|
|
162
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
163
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
164
|
+
return data;
|
|
131
165
|
}
|
|
132
166
|
/**
|
|
133
167
|
* Retrieves a registered customer access token from SLAS.
|
|
@@ -145,7 +179,7 @@ export async function getRegisteredToken(config) {
|
|
|
145
179
|
const logger = getLogger();
|
|
146
180
|
const baseUrl = buildBaseUrl(config.shortCode, config.organizationId);
|
|
147
181
|
const isPrivate = Boolean(config.slasClientSecret);
|
|
148
|
-
logger.debug({ isPrivate }, 'Using registered customer login flow');
|
|
182
|
+
logger.debug({ clientId: config.slasClientId, isPrivate }, '[SLAS] Using registered customer login flow');
|
|
149
183
|
const verifier = generateCodeVerifier();
|
|
150
184
|
const challenge = generateCodeChallenge(verifier);
|
|
151
185
|
// Step 1: Login with shopper credentials
|
|
@@ -156,7 +190,8 @@ export async function getRegisteredToken(config) {
|
|
|
156
190
|
code_challenge: challenge,
|
|
157
191
|
redirect_uri: config.redirectUri,
|
|
158
192
|
});
|
|
159
|
-
const
|
|
193
|
+
const loginUrl = `${baseUrl}/oauth2/login`;
|
|
194
|
+
const { response: loginResponse } = await loggedFetch(loginUrl, {
|
|
160
195
|
method: 'POST',
|
|
161
196
|
headers: {
|
|
162
197
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
@@ -166,6 +201,8 @@ export async function getRegisteredToken(config) {
|
|
|
166
201
|
redirect: 'manual',
|
|
167
202
|
});
|
|
168
203
|
if (loginResponse.status !== 303) {
|
|
204
|
+
const respHeaders = serializeHeaders(loginResponse);
|
|
205
|
+
logger.trace({ headers: respHeaders }, `[SLAS RESP BODY] POST ${loginUrl}`);
|
|
169
206
|
await checkResponse(loginResponse, 'login');
|
|
170
207
|
throw new Error(`Expected 303 redirect from SLAS login, got ${loginResponse.status}`);
|
|
171
208
|
}
|
|
@@ -174,8 +211,9 @@ export async function getRegisteredToken(config) {
|
|
|
174
211
|
throw new Error('SLAS login response missing Location header');
|
|
175
212
|
}
|
|
176
213
|
const { code, usid } = parseRedirectCode(location);
|
|
177
|
-
logger.debug({ usid }, 'Got authorization code from
|
|
214
|
+
logger.debug({ usid }, '[SLAS] Got authorization code from login');
|
|
178
215
|
// Step 2: Exchange code for token
|
|
216
|
+
const tokenUrl = `${baseUrl}/oauth2/token`;
|
|
179
217
|
if (isPrivate) {
|
|
180
218
|
const basicAuth = Buffer.from(`${config.slasClientId}:${config.slasClientSecret}`).toString('base64');
|
|
181
219
|
const tokenBody = new URLSearchParams({
|
|
@@ -185,7 +223,7 @@ export async function getRegisteredToken(config) {
|
|
|
185
223
|
channel_id: config.siteId,
|
|
186
224
|
usid,
|
|
187
225
|
});
|
|
188
|
-
const tokenResponse = await
|
|
226
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
189
227
|
method: 'POST',
|
|
190
228
|
headers: {
|
|
191
229
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
@@ -194,7 +232,10 @@ export async function getRegisteredToken(config) {
|
|
|
194
232
|
body: tokenBody,
|
|
195
233
|
});
|
|
196
234
|
await checkResponse(tokenResponse, 'token exchange (authorization_code)');
|
|
197
|
-
|
|
235
|
+
const data = (await tokenResponse.json());
|
|
236
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
237
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
238
|
+
return data;
|
|
198
239
|
}
|
|
199
240
|
// Public client — use PKCE
|
|
200
241
|
const tokenBody = new URLSearchParams({
|
|
@@ -206,12 +247,15 @@ export async function getRegisteredToken(config) {
|
|
|
206
247
|
channel_id: config.siteId,
|
|
207
248
|
usid,
|
|
208
249
|
});
|
|
209
|
-
const tokenResponse = await
|
|
250
|
+
const { response: tokenResponse } = await loggedFetch(tokenUrl, {
|
|
210
251
|
method: 'POST',
|
|
211
252
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
212
253
|
body: tokenBody,
|
|
213
254
|
});
|
|
214
255
|
await checkResponse(tokenResponse, 'token exchange (authorization_code_pkce)');
|
|
215
|
-
|
|
256
|
+
const data = (await tokenResponse.json());
|
|
257
|
+
const respHeaders = serializeHeaders(tokenResponse);
|
|
258
|
+
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
259
|
+
return data;
|
|
216
260
|
}
|
|
217
261
|
//# sourceMappingURL=token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/slas/token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,WAAW,CAAC;AAGtE;;GAEG;AACH,SAAS,YAAY,CAAC,SAAiB,EAAE,cAAsB;IAC7D,OAAO,WAAW,SAAS,mEAAmE,cAAc,EAAE,CAAC;AACjH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+DAA+D,cAAc,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,QAAkB,EAAE,OAAe;IAC9D,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAO;IAExB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,iBAAiB,QAAQ,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAuB;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/slas/token.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/b2c-tooling-sdk",
|
|
3
3
|
"description": "Core tooling library for Salesforce B2C Commerce CLI",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.0",
|
|
5
5
|
"author": "Charles Lavery",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": "SalesforceCommerceCloud/b2c-developer-tooling",
|