@salesforce/plugin-lightning-dev 1.2.1-alpha.0 → 1.3.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 +2 -2
- package/lib/shared/experience/expSite.d.ts +2 -2
- package/lib/shared/experience/expSite.js +23 -13
- package/lib/shared/experience/expSite.js.map +1 -1
- package/npm-shrinkwrap.json +227 -227
- package/oclif.lock +257 -257
- package/oclif.manifest.json +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -200,7 +200,7 @@ EXAMPLES
|
|
|
200
200
|
$ sf lightning dev app --target-org myOrg --device-type ios --device-id "iPhone 15 Pro Max"
|
|
201
201
|
```
|
|
202
202
|
|
|
203
|
-
_See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.
|
|
203
|
+
_See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.3.0/src/commands/lightning/dev/app.ts)_
|
|
204
204
|
|
|
205
205
|
## `sf lightning dev site`
|
|
206
206
|
|
|
@@ -244,6 +244,6 @@ EXAMPLES
|
|
|
244
244
|
$ sf lightning dev site --name "Partner Central" --target-org myOrg
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
-
_See code: [src/commands/lightning/dev/site.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.
|
|
247
|
+
_See code: [src/commands/lightning/dev/site.ts](https://github.com/salesforcecli/plugin-lightning-dev/blob/1.3.0/src/commands/lightning/dev/site.ts)_
|
|
248
248
|
|
|
249
249
|
<!-- commandsstop -->
|
|
@@ -73,6 +73,6 @@ export declare class ExperienceSite {
|
|
|
73
73
|
* @returns path of downloaded site zip
|
|
74
74
|
*/
|
|
75
75
|
downloadSite(): Promise<string>;
|
|
76
|
-
getNetworkId
|
|
77
|
-
getNewSidToken
|
|
76
|
+
private getNetworkId;
|
|
77
|
+
private getNewSidToken;
|
|
78
78
|
}
|
|
@@ -74,8 +74,18 @@ export class ExperienceSite {
|
|
|
74
74
|
* @returns sid token for proxied site requests
|
|
75
75
|
*/
|
|
76
76
|
async setupAuth() {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
let sidToken = ''; // Default to guest user access only
|
|
78
|
+
// Use environment variable for now if users want to just have guest access only
|
|
79
|
+
if (process.env.SITE_GUEST_ACCESS !== 'true') {
|
|
80
|
+
try {
|
|
81
|
+
const networkId = await this.getNetworkId();
|
|
82
|
+
sidToken = await this.getNewSidToken(networkId);
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
// eslint-disable-next-line no-console
|
|
86
|
+
console.error('Failed to establish authentication for site', e);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
79
89
|
return sidToken;
|
|
80
90
|
}
|
|
81
91
|
async isUpdateAvailable() {
|
|
@@ -206,7 +216,7 @@ export class ExperienceSite {
|
|
|
206
216
|
return networkId;
|
|
207
217
|
}
|
|
208
218
|
else {
|
|
209
|
-
throw new Error(`
|
|
219
|
+
throw new Error(`NetworkId for site: '${this.siteDisplayName}' could not be found`);
|
|
210
220
|
}
|
|
211
221
|
}
|
|
212
222
|
async getNewSidToken(networkId) {
|
|
@@ -215,14 +225,14 @@ export class ExperienceSite {
|
|
|
215
225
|
const orgId = this.org.getOrgId();
|
|
216
226
|
// Not sure if we need to do this
|
|
217
227
|
const orgIdMinus3 = orgId.substring(0, orgId.length - 3);
|
|
218
|
-
const accessToken = conn.accessToken;
|
|
228
|
+
const accessToken = conn.accessToken;
|
|
219
229
|
const instanceUrl = conn.instanceUrl; // Org URL
|
|
220
|
-
// Call out to the servlet to establish a session
|
|
221
|
-
const switchUrl = `${instanceUrl}/servlet/networks/switch?networkId=${networkId}`;
|
|
222
230
|
// Make the GET request without following redirects
|
|
223
231
|
if (accessToken) {
|
|
224
|
-
// TODO should we
|
|
232
|
+
// TODO should we try and refresh auth here?
|
|
225
233
|
// await conn.refreshAuth();
|
|
234
|
+
// Call out to the switcher servlet to establish a session
|
|
235
|
+
const switchUrl = `${instanceUrl}/servlet/networks/switch?networkId=${networkId}`;
|
|
226
236
|
const cookies = [`sid=${accessToken}`, `oid=${orgIdMinus3}`].join('; ').trim();
|
|
227
237
|
let response = await axios.get(switchUrl, {
|
|
228
238
|
headers: {
|
|
@@ -232,15 +242,14 @@ export class ExperienceSite {
|
|
|
232
242
|
maxRedirects: 0, // Prevent axios from following redirects
|
|
233
243
|
validateStatus: (status) => status >= 200 && status < 400, // Accept 3xx status codes
|
|
234
244
|
});
|
|
235
|
-
// Extract the Location header
|
|
236
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
245
|
+
// Extract the Location callback header
|
|
237
246
|
const locationHeader = response.headers['location'];
|
|
238
247
|
if (locationHeader) {
|
|
239
248
|
// Parse the URL to extract the 'sid' parameter
|
|
240
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
241
249
|
const urlObj = new URL(locationHeader);
|
|
242
250
|
const sid = urlObj.searchParams.get('sid') ?? '';
|
|
243
251
|
const cookies2 = ['__Secure-has-sid=1', `sid=${sid}`, `oid=${orgIdMinus3}`].join('; ').trim();
|
|
252
|
+
// Request the location header to establish our session with the servlet
|
|
244
253
|
response = await axios.get(urlObj.toString(), {
|
|
245
254
|
headers: {
|
|
246
255
|
Cookie: cookies2,
|
|
@@ -251,11 +260,10 @@ export class ExperienceSite {
|
|
|
251
260
|
});
|
|
252
261
|
const setCookieHeader = response.headers['set-cookie'];
|
|
253
262
|
if (setCookieHeader) {
|
|
254
|
-
// 'set-cookie' can be an array if multiple cookies are set
|
|
255
263
|
// Find the 'sid' cookie in the set-cookie header
|
|
256
264
|
const sidCookie = setCookieHeader.find((cookieStr) => cookieStr.startsWith('sid='));
|
|
257
265
|
if (sidCookie) {
|
|
258
|
-
// Extract the sid value from the cookie string
|
|
266
|
+
// Extract the sid value from the set-cookie string
|
|
259
267
|
const sidMatch = sidCookie.match(/sid=([^;]+)/);
|
|
260
268
|
if (sidMatch?.[1]) {
|
|
261
269
|
const sidToken = sidMatch[1];
|
|
@@ -264,11 +272,13 @@ export class ExperienceSite {
|
|
|
264
272
|
}
|
|
265
273
|
}
|
|
266
274
|
}
|
|
275
|
+
// if we can't establish a valid session this way, lets just warn the user and utilize the guest user context for the site
|
|
267
276
|
// eslint-disable-next-line no-console
|
|
268
277
|
console.warn(`Warning: could not establish valid auth token for your site '${this.siteDisplayName}'.` +
|
|
269
278
|
'Local Dev proxied requests to your site may fail or return data from the guest user context.');
|
|
270
|
-
return
|
|
279
|
+
return ''; // Site will be guest user access only
|
|
271
280
|
}
|
|
281
|
+
// Not sure what scenarios we don't have an access token at all, but lets output a separate message here so we can distinguish these edge cases
|
|
272
282
|
// eslint-disable-next-line no-console
|
|
273
283
|
console.warn('Warning: sf cli org connection missing accessToken. Local Dev proxied requests to your site may fail or return data from the guest user context.');
|
|
274
284
|
return '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expSite.js","sourceRoot":"","sources":["../../../src/shared/experience/expSite.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAO,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IAClB,eAAe,CAAS;IACxB,QAAQ,CAAS;IAChB,GAAG,CAAM;IACT,aAAa,GAAsB,EAAE,CAAC;IAE9C,YAAmB,GAAQ,EAAE,QAAgB;QAC3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,eAAe,CAAC,QAAgB;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QAC5F,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAmB,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAQ;QAClD,MAAM,MAAM,GAAG,MAAM,GAAG;aACrB,aAAa,EAAE;aACf,KAAK,CACJ,+EAA+E,CAChF,CAAC;QAEJ,+CAA+C;QAC/C,MAAM,eAAe,GAAqB,MAAM,CAAC,OAAO,CAAC,GAAG,CAC1D,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,GAAG,EAAE,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAChF,CAAC;QAEF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAQ;QACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC,KAAK,CAM3C,uEAAuE,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAa,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"expSite.js","sourceRoot":"","sources":["../../../src/shared/experience/expSite.ts"],"names":[],"mappings":"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"}
|