diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js b/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js index 210ceaaeae6..2a7428e7904 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js @@ -145,9 +145,10 @@ async function updateConfigOnEnvInit(context, category, service) { if (hostedUIProviderMeta) { currentEnvSpecificValues = getOAuthProviderKeys(currentEnvSpecificValues, resourceParams); } - + const isPullingOrNewEnv = context.input.command === 'pull' || context.input.command === 'env'; + // don't ask for env_specific params when creating a new env or pulling srvcMetaData.inputs = srvcMetaData.inputs.filter( - input => ENV_SPECIFIC_PARAMS.includes(input.key) && !Object.keys(currentEnvSpecificValues).includes(input.key), + input => ENV_SPECIFIC_PARAMS.includes(input.key) && !Object.keys(currentEnvSpecificValues).includes(input.key) && !isPullingOrNewEnv, ); const serviceWalkthroughSrc = `${__dirname}/service-walkthroughs/${serviceWalkthroughFilename}`; diff --git a/packages/amplify-console-integration-tests/src/pullAndInit/pullProject.ts b/packages/amplify-console-integration-tests/src/pullAndInit/pullProject.ts index aa620bef3a0..ec210a168a8 100644 --- a/packages/amplify-console-integration-tests/src/pullAndInit/pullProject.ts +++ b/packages/amplify-console-integration-tests/src/pullAndInit/pullProject.ts @@ -59,7 +59,6 @@ export function authConfigPull(projectRootDirPath: string, params: { appId: stri if (params[key]) pullCommand.push(...[`--${key}`, JSON.stringify(params[key])]); }); const s = { ...defaultSettings, ...settings }; - const { FACEBOOK_APP_ID, FACEBOOK_APP_SECRET, GOOGLE_APP_ID, GOOGLE_APP_SECRET, AMAZON_APP_ID, AMAZON_APP_SECRET } = getSocialProviders(); return new Promise((resolve, reject) => { spawn(util.getCLIPath(), pullCommand, { cwd: projectRootDirPath, stripColors: true }) .wait('Select the authentication method you want to use:') @@ -82,18 +81,6 @@ export function authConfigPull(projectRootDirPath: string, params: { appId: stri .sendLine(s.startCmd) .wait('Do you plan on modifying this backend?') .sendLine('y') - .wait('Enter your Facebook App ID for your OAuth flow:') - .sendLine(FACEBOOK_APP_ID) - .wait('Enter your Facebook App Secret for your OAuth flow:') - .sendLine(FACEBOOK_APP_SECRET) - .wait('Enter your Google Web Client ID for your OAuth flow:') - .sendLine(GOOGLE_APP_ID) - .wait('Enter your Google Web Client Secret for your OAuth flow:') - .sendLine(GOOGLE_APP_SECRET) - .wait('Enter your Amazon App ID for your OAuth flow:') - .sendLine(AMAZON_APP_ID) - .wait('Enter your Amazon App Secret for your OAuth flow:') - .sendLine(AMAZON_APP_SECRET) .wait('Successfully pulled backend environment dev from the cloud.') .run((err: Error) => { if (!err) { diff --git a/packages/amplify-e2e-tests/src/environment/env.ts b/packages/amplify-e2e-tests/src/environment/env.ts index ed3f4ad7cce..18f77f01cbc 100644 --- a/packages/amplify-e2e-tests/src/environment/env.ts +++ b/packages/amplify-e2e-tests/src/environment/env.ts @@ -136,7 +136,6 @@ export function pullEnvironment(cwd: string): Promise { } export function addEnvironmentHostedUI(cwd: string, settings: { envName: string }): Promise { - const { FACEBOOK_APP_ID, FACEBOOK_APP_SECRET, GOOGLE_APP_ID, GOOGLE_APP_SECRET, AMAZON_APP_ID, AMAZON_APP_SECRET } = getSocialProviders(); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['env', 'add'], { cwd, stripColors: true }) .wait('Do you want to use an existing environment?') @@ -147,18 +146,6 @@ export function addEnvironmentHostedUI(cwd: string, settings: { envName: string .sendCarriageReturn() .wait('Please choose the profile you want to use') .sendCarriageReturn() - .wait('Enter your Facebook App ID for your OAuth flow:') - .sendLine(FACEBOOK_APP_ID) - .wait('Enter your Facebook App Secret for your OAuth flow:') - .sendLine(FACEBOOK_APP_SECRET) - .wait('Enter your Google Web Client ID for your OAuth flow:') - .sendLine(GOOGLE_APP_ID) - .wait('Enter your Google Web Client Secret for your OAuth flow:') - .sendLine(GOOGLE_APP_SECRET) - .wait('Enter your Amazon App ID for your OAuth flow:') - .sendLine(AMAZON_APP_ID) - .wait('Enter your Amazon App Secret for your OAuth flow:') - .sendLine(AMAZON_APP_SECRET) .wait('Try "amplify add api" to create a backend API and then "amplify publish" to deploy everything') .run((err: Error) => { if (!err) { diff --git a/packages/amplify-provider-awscloudformation/src/resourceParams.js b/packages/amplify-provider-awscloudformation/src/resourceParams.js index 891d5e80fa8..a9133f78048 100644 --- a/packages/amplify-provider-awscloudformation/src/resourceParams.js +++ b/packages/amplify-provider-awscloudformation/src/resourceParams.js @@ -1,5 +1,7 @@ const path = require('path'); const fs = require('fs-extra'); +const _ = require('lodash'); +const hostedUIProviderCredsField = 'hostedUIProviderCreds'; function getResourceDirPath(context, category, resource) { const { projectPath } = context.migrationInfo || context.amplify.getEnvInfo(); @@ -39,7 +41,11 @@ function loadResourceParameters(context, category, resource) { parameters = context.amplify.readJsonFile(parametersFilePath); } const envSpecificParams = context.amplify.loadEnvResourceParameters(context, category, resource); - return { ...parameters, ...envSpecificParams }; + let resourceParameters = { ...parameters, ...envSpecificParams }; + if (category === 'auth' && parameters && parameters.hostedUI && !resourceParameters[hostedUIProviderCredsField]) { + resourceParameters = _.set(resourceParameters, hostedUIProviderCredsField, '[]'); + } + return resourceParameters; } module.exports = {