contentful-node-apps-toolkit
    Preparing search index...

    Function verifyRequest

    • Given a secret verifies a CanonicalRequest. It also throws when signature is older than rawTimeToLive seconds. Pass rawTimeToLive = 0 to disable TTL checks.

      const { verifyRequest } = require('@contentful/node-apps-toolkit')
      const { server } = require('./imaginary-server')
      const { makeCanonicalRequestFromImaginaryServerRequest } = require('./imaginary-utils')

      const SECRET = process.env.SECRET
      const REQUEST_TTL = Number.parseInt(process.env.REQUEST_TTL, 10)

      server.post('/api/my-resources', (req, res) => {
      const canonicalRequest = makeCanonicalRequestFromImaginaryServerRequest(req)

      try {
      const isVerifiedRequest = verifyRequest(SECRET, canonicalRequest, REQUEST_TTL)

      if (!isVerifiedRequest) {
      res.send(403, 'Invalid signature')
      }
      } catch (_error) {
      res.send(422, 'Unable to verify request')
      }

      // Rest of the code
      })

      Parameters

      • rawSecret: string
      • rawCanonicalRequest: {
            method: "GET" | "POST" | "PUT" | "PATCH" | "HEAD" | "DELETE" | "OPTIONS";
            path: string;
        } & { body?: string; headers?: { [_: string]: string } }
      • rawTimeToLive: number = 30

      Returns boolean