• 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]: Static<V>;
          };
      }
    • rawTimeToLive: number = 30

    Returns boolean

Generated using TypeDoc