Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if (!parameters.triggerFunction) {
answers.triggerFunction = 'NONE';
}
continueWithTriggerOperationQuestion = false;
break;
}
default:
console.log(`${triggerOperationAnswer.triggerOperation} not supported`);
}
}
}
const storageRequirements = { authSelections: 'identityPoolAndUserPool', allowUnauthenticatedIdentities };
// getting requirement satisfaction map
const satisfiedRequirements = await checkRequirements(storageRequirements, context, 'storage', answers.resourceName);
// checking to see if any requirements are unsatisfied
const foundUnmetRequirements = Object.values(satisfiedRequirements).includes(false);
// if requirements are unsatisfied, trigger auth
if (foundUnmetRequirements) {
try {
await externalAuthEnable(context, category, answers.resourceName, storageRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
Object.assign(defaultValues, answers);
const resource = defaultValues.resourceName;
async function enableGuestAuth(context, resourceName, allowUnauthenticatedIdentities) {
const { checkRequirements, externalAuthEnable } = require('amplify-category-auth');
// enable allowUnauthenticatedIdentities
const identifyRequirements = { authSelections: 'identityPoolAndUserPool', allowUnauthenticatedIdentities };
// getting requirement satisfaction map
const satisfiedRequirements = await checkRequirements(identifyRequirements, context, 'predictions', resourceName);
// checking to see if any requirements are unsatisfied
const foundUnmetRequirements = Object.values(satisfiedRequirements).includes(false);
// if requirements are unsatisfied, trigger auth
if (foundUnmetRequirements) {
try {
await externalAuthEnable(context, 'predictions', resourceName, identifyRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
}
async function enableGuestAuth(context, resourceName, allowUnauthenticatedIdentities) {
const { checkRequirements, externalAuthEnable } = require('amplify-category-auth');
// enable allowUnauthenticatedIdentities
const identifyRequirements = { authSelections: 'identityPoolAndUserPool', allowUnauthenticatedIdentities };
// getting requirement satisfaction map
const satisfiedRequirements = await checkRequirements(identifyRequirements, context, 'predictions', resourceName);
// checking to see if any requirements are unsatisfied
const foundUnmetRequirements = Object.values(satisfiedRequirements).includes(false);
// if requirements are unsatisfied, trigger auth
if (foundUnmetRequirements) {
try {
await externalAuthEnable(context, 'predictions', resourceName, identifyRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
}
try {
await externalAuthEnable(context, 'api', answers.resourceName, apiRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
}
if (answer.privacy === 'protected') {
privacy.auth = await askReadWrite('Authenticated', context, authPrivacy);
privacy.unauth = await askReadWrite('Guest', context, unauthPrivacy);
allowUnauthenticatedIdentities = true;
const apiRequirements = { authSelections: 'identityPoolAndUserPool', allowUnauthenticatedIdentities };
// getting requirement satisfaction map
const satisfiedRequirements = await checkRequirements(apiRequirements, context, 'api', answers.resourceName);
// checking to see if any requirements are unsatisfied
const foundUnmetRequirements = Object.values(satisfiedRequirements).includes(false);
// if requirements are unsatisfied, trigger auth
if (foundUnmetRequirements) {
try {
await externalAuthEnable(context, 'api', answers.resourceName, apiRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
}
}
async function enableGuestAuth(context, resourceName, allowUnauthenticatedIdentities) {
const { checkRequirements, externalAuthEnable } = require('amplify-category-auth');
// enable allowUnauthenticatedIdentities
const identifyRequirements = { authSelections: 'identityPoolAndUserPool', allowUnauthenticatedIdentities };
// getting requirement satisfaction map
const satisfiedRequirements = await checkRequirements(identifyRequirements, context, 'predictions', resourceName);
// checking to see if any requirements are unsatisfied
const foundUnmetRequirements = Object.values(satisfiedRequirements).includes(false);
// if requirements are unsatisfied, trigger auth
if (foundUnmetRequirements) {
try {
await externalAuthEnable(context, 'predictions', resourceName, identifyRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
}
async function ensureAuth(context) {
const xrRequirements = { authSelections: 'identityPoolOnly', allowUnauthenticatedIdentities: true };
const satisfiedRequirements = await checkRequirements(xrRequirements, context);
const foundUnmetRequirements = Object.values(satisfiedRequirements).includes(false);
if (foundUnmetRequirements) {
context.print.warning('Adding XR to your project requires the Auth category.');
try {
await externalAuthEnable(context, constants.CategoryName, constants.ServiceName, xrRequirements);
} catch (e) {
context.print.error(e);
throw e;
}
}
}