Nutritious Pumpkin Mash

    @corejam/plugin-auth
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.29 • Public • Published

    JWT GraphQL Authentication

    This package provides basic GraphQL JWT authentication functionality for bootstrapping Corejam applications along with the relevant barebones web components to bootstrap your application with authentication.

    This package also makes use of the @corejam/notify package to send verification / reset password emails.

    Installation

    npm

    npm i @corejam/plugin-auth

    yarn

    yarn add @corejam/plugin-auth

    Components

    This module provides a few barebones web components to handle most of the needed authentication functionality for the frontend. You can simply plug them into your Corejam project or use the API manualy below to create your own.

    Identity

    To quickly bootstrap your app simply include the identity component inside your app (Preferably in your layout).

    <corejam-identity></corejam-identity>

    This provides a quick login dropdown and logged in state for your application:

    Routes

    The following ready to go routes are available to quickly tie into your application:

    <auth-route-register></auth-route-register>
    <auth-route-login></auth-route-login>
    <auth-route-admin-user-form></auth-route-admin-user-form>
    <auth-route-admin page={1}></auth-route-admin>
    <auth-route-account></auth-route-account>

    Manual API Usage

    Authenticate

    To authenticate a user run the following mutation:

    mutation {
      userAuthenticate(email:"test@test.com", password:"valid123Password@") {
        user {
          id
          email
        }
        token
      }
    }

    If authentication is successful the user object along with a token is returned which you should store in your application state. A refreshToken is sent as secure cookie which can be used for reauthentication at a later stage.

    Refreshing JWT token

    To refresh the token call the following mutation with the refreshToken cookie active.

    mutation {
      userTokenRefresh {
        user {
          id
          email
        }
        token
      }
    }

    Paginate Users

    {
      paginateUsers(page:1, size:20){
        perPage
        totalItems
        currentPage
        lastPage
        items {
          id
          email
        }
      }
    }

    Install

    npm i @corejam/plugin-auth

    Homepage

    corejam.io/

    DownloadsWeekly Downloads

    61

    Version

    0.0.29

    License

    MIT

    Unpacked Size

    71.1 kB

    Total Files

    45

    Last publish

    Collaborators

    • mattvb91
    • patrickhaug