INNER CODE UNIT · TypeScript

checkUserSignedTerms

cisagov/crossfeed · backend/src/api/app.ts:123

const checkUserSignedTerms = (req, res, next) => {
  // Bypass ToU for CISA emails
  const approvedEmailAddresses = ['@cisa.dhs.gov', '@associates.cisa.dhs.gov'];
  if (process.env.NODE_ENV === 'test')
    approvedEmailAddresses.push('@crossfeed.cisa.gov');
  for (const email of approvedEmailAddresses) {
    if (
      req.requestContext.authorizer.email &&
      req.requestContext.authorizer.email.endsWith(email)
    )
      return next();
  }
  if (
    !req.requestContext.authorizer.dateAcceptedTerms ||
    (req.requestContext.authorizer.acceptedTermsVersion &&
      req.requestContext.authorizer.acceptedTermsVersion !==
        getToUVersion(req.requestContext.authorizer))
  ) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…