@corejam/plugin-auth
v0.0.29
Published
Corejam Authentification plugin
Downloads
58
Readme
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:"[email protected]", 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
}
}
}