@salesforce/core 8.32.5 → 8.32.6-eca.1

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.
@@ -726,11 +726,18 @@ class AuthInfo extends kit_1.AsyncOptionalCreatable {
726
726
  else {
727
727
  if (this.options.parentUsername) {
728
728
  const parentFields = await this.loadDecryptedAuthFromConfig(this.options.parentUsername);
729
- options.clientId = parentFields.clientId;
729
+ if (process.env.SF_SCRATCH_SIGNUP_CONNECTED_APP) {
730
+ // When the signup app is overridden, use it as the clientId for the auth code exchange
731
+ // and skip copying the parent's privateKey so we don't fall into the JWT flow.
732
+ options.clientId = process.env.SF_SCRATCH_SIGNUP_CONNECTED_APP;
733
+ }
734
+ else {
735
+ options.clientId = parentFields.clientId;
736
+ }
730
737
  if (process.env.SFDX_CLIENT_SECRET) {
731
738
  options.clientSecret = process.env.SFDX_CLIENT_SECRET;
732
739
  }
733
- else {
740
+ else if (!process.env.SF_SCRATCH_SIGNUP_CONNECTED_APP) {
734
741
  // Grab whatever flow is defined
735
742
  Object.assign(options, {
736
743
  clientSecret: parentFields.clientSecret,
@@ -60,11 +60,13 @@ const getOrgInstanceAuthority = function (scratchOrgInfoComplete, hubOrgLoginUrl
60
60
  */
61
61
  const buildOAuth2Options = async (options) => {
62
62
  const logger = await logger_1.Logger.child('buildOAuth2Options');
63
- const isJwtFlow = !!options.hubOrg.getConnection().getAuthInfoFields().privateKey;
63
+ const signupAppOverridden = !!process.env.SF_SCRATCH_SIGNUP_CONNECTED_APP;
64
+ const isJwtFlow = !signupAppOverridden && !!options.hubOrg.getConnection().getAuthInfoFields().privateKey;
64
65
  const oauth2Options = {
65
66
  loginUrl: getOrgInstanceAuthority(options.scratchOrgInfoComplete, options.hubOrg.getField(org_1.Org.Fields.LOGIN_URL), options.signupTargetLoginUrl),
66
67
  };
67
68
  logger.debug(`isJwtFlow: ${isJwtFlow}`);
69
+ logger.debug(`signupAppOverridden: ${signupAppOverridden}`);
68
70
  logger.debug(`using resolved loginUrl: ${oauth2Options.loginUrl ?? '<undefined>'}`);
69
71
  if (isJwtFlow && !process.env.SFDX_CLIENT_SECRET) {
70
72
  oauth2Options.privateKeyFile = options.hubOrg.getConnection().getAuthInfoFields().privateKey;
@@ -151,11 +151,11 @@ const generateScratchOrgInfo = async ({ hubOrg, scratchOrgInfoPayload, nonamespa
151
151
  return {
152
152
  ...payload,
153
153
  orgName: scratchOrgInfoPayload.orgName ?? 'Company',
154
- // we already have the info, and want to get rid of configApi, so this doesn't use that
155
- connectedAppCallbackUrl: `http://localhost:${await webOAuthServer_1.WebOAuthServer.determineOauthPort()}/OauthRedirect`,
154
+ connectedAppCallbackUrl: process.env.SF_SCRATCH_SIGNUP_CALLBACK_URL ??
155
+ `http://localhost:${await webOAuthServer_1.WebOAuthServer.determineOauthPort()}/OauthRedirect`,
156
156
  ...(!nonamespace && namespace ? { namespace } : {}),
157
- // Use the Hub org's client ID value, if one wasn't provided to us, or the default
158
157
  connectedAppConsumerKey: scratchOrgInfoPayload.connectedAppConsumerKey ??
158
+ process.env.SF_SCRATCH_SIGNUP_CONNECTED_APP ??
159
159
  hubOrg.getConnection().getAuthInfoFields().clientId ??
160
160
  authInfo_1.DEFAULT_CONNECTED_APP_INFO.clientId,
161
161
  package2AncestorIds: !ignoreAncestorIds && sfProject?.hasPackages()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/core",
3
- "version": "8.32.5",
3
+ "version": "8.32.6-eca.1",
4
4
  "description": "Core libraries to interact with SFDX projects, orgs, and APIs.",
5
5
  "main": "lib/index",
6
6
  "types": "lib/index.d.ts",