Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace CallbackTypes

Index

Type aliases

CallbackPayload: { Action: string; CompanyId: string | number; Entity: string; FromUrl: string; ID: string | number; MemberId: string | number; Metadata: { key_url: string }; Type: string }

Type declaration

  • Action: string
  • CompanyId: string | number
  • Entity: string
  • FromUrl: string
  • ID: string | number
  • MemberId: string | number
  • Metadata: { key_url: string }
    • key_url: string
  • Type: string
Entity: Record<string, unknown> | Record<string, unknown>[]

Functions

  • middleware(cb: (err: null | Error, req: ExpressRequest, res: ServerResponse, verified: boolean, payload: undefined | Entity) => void): (req: ExpressRequest, res: ServerResponse) => void
  • example

    Express style middleware

    app.post('/your/api', cw.utils.middleware((err, req, res, verified, payload) => {
    if (err) {
    //handle error
    res.status(500).end();
    } else if (!verified) {
    // send 403 on verification failure
    res.status(403).end();
    } else {
    res.status(200).end()
    }
    const {action, id} = req.query;
    // do something with the payload
    }));

    Parameters

    • cb: (err: null | Error, req: ExpressRequest, res: ServerResponse, verified: boolean, payload: undefined | Entity) => void

      callback(err, req, res, verified, payload)

        • (err: null | Error, req: ExpressRequest, res: ServerResponse, verified: boolean, payload: undefined | Entity): void
        • Parameters

          Returns void

    Returns (req: ExpressRequest, res: ServerResponse) => void

  • verifyCallback(callbackBody: CallbackPayload, contentSignature: string): Promise<boolean>
  • Load signing key and verify the message

    Parameters

    • callbackBody: CallbackPayload
    • contentSignature: string

      base64 content signature req.headers[x-content-signature]

    Returns Promise<boolean>

    verifies callback signature

  • verifyMessage(callbackBody: CallbackPayload, contentSignature: string, signingKey: string): boolean
  • Validate a callback body against signed key

    Parameters

    Returns boolean

    boolean if verified

Generated using TypeDoc