INNER CODE UNIT · TypeScript

enabling

aws-devtools-labs/aws-blocks · packages/bb-auth-cognito/src/index.ts:1527

		const enabling = deltas.filter(([, s]) => s === 'ENABLED' || s === 'PREFERRED' || s === 'NOT_PREFERRED');
		if (enabling.some(([f]) => f === 'TOTP') && !user.totpVerified) {
			throw new ApiError(
				'TOTP is not associated for this user. Call setUpTOTP + verifyTOTPSetup before enabling it as an MFA factor.',
				400,
				{ name: AuthCognitoErrors.SoftwareTokenMFANotFound },
			);
		}

		// Apply the delta. Start from the current state.
		const enabled = new Set<MfaFactor>(user.mfaPreference.enabled);
		let preferred: MfaFactor | 'NOMFA' | undefined = user.mfaPreference.preferred;

		for (const [factor, setting] of deltas) {
			switch (setting) {
				case 'DISABLED':
					enabled.delete(factor);
					if (preferred === factor) preferred = undefined;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…