npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@solidgoldpig/fb-jwt-client-node

v0.0.29

Published

Form Builder JSON Web Token Client (Node)

Downloads

5

Readme

Form Builder JSON Web Token client (Node)

Base client for making requests to Form Builder platform endpoints that require JSON Web Tokens for authenctication

Requirements

Node

Installation

npm install @solidgoldpig/fb-jwt-client-node

Usage

Loading and initialising basic client

// load client class
const FBJWTClient = require('@solidgoldpig/fb-jwt-client-node')

// initialise client
const jwtClient = new FBJWTClient(serviceSecret, serviceToken, serviceSlug, microserviceUrl, [errorClass])

serviceSecret

Constructor will throw an error if no service secret is passed

serviceToken

Constructor will throw an error if no service token is passed

serviceSlug

Constructor will throw an error if no service slug is passed

microserviceUrl

Constructor will throw an error if no service url is passed

errorClass

By default, uses FBJWTClientError

Extending

// extend base class
class FBMyClient extends FBJWTClient {
  constructor (serviceSecret, serviceToken, serviceSlug, microserviceUrl, myVar) {
    super(serviceSecret, serviceToken, serviceSlug, microserviceUrl)
    // do something with additional constructor argument
    this.myVar = myVar
  }
}

const myClient = new FBMyClient('service_secret', 'service_token', 'myservice', 'http://myservice', 'my var')
// extend base class with custom error
class FBAnotherClient extends FBJWTClient {
  constructor (serviceSecret, serviceToken, serviceSlug, microserviceUrl) {
    // create custom error class
    class FBAnotherClientError extends FBJWTClient.prototype.ErrorClass {}
    super(serviceSecret, serviceToken, serviceSlug, microserviceUrl, FBAnotherClientError)
  }
}

Methods

  • generateAccessToken

    Generate JWT access token

  • createEndpointUrl

    Return user-specific endpoint

  • sendGet

    Handle client get requests

  • sendPost

    Handle client post requests

  • encrypt

    Encrypt data with AES 256

  • decrypt

    Decrypt data

  • encryptUserIdAndToken

    Encrypt user ID and token using service secret

  • decryptUserIdAndToken

    Decrypt user ID and token using service secret

  • handleRequestError

    Handle client response errors

  • createRequestOptions

    Create request options

  • throwRequestError

    Convenience function for throwing errors

Further details

See documentation in code for further details and fb-user-datastore-client-node and fb-submitter-client-node for examples.