New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@jnode/auth

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jnode/auth

Simple authorization package for Node.js.

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@jnode/auth

Simple authorization package for Node.js.

Installation

npm i @jnode/auth

Quick start

Import

const { AuthService } = require('@jnode/auth');
const crypto = require('crypto');

Basic usage

// Generate a pair of keys for demonstration
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
  modulusLength: 2048,
});

// Initialize the service
const auth = new AuthService(publicKey, privateKey);

// Sign a token
const token = auth.signToken({ alg: 'RSA-SHA256' }, { userId: 123, role: 'admin' });

// Example token output:
// ABR7ImFsZyI6IlJTQS1TSEEyNTYifQAdeyJ1c2VySWQiOjEyMywicm9sZSI6ImFkbWluIn1JG1YPNJNfZ2jA29DcqiU_HojNAC34mz0ueYYOZ45nbHg86Q_Q7RULHsQfMp1tn0AdeGC9gStX1QK-fCB7Qgt3kF85qCtlDcYywDrjwmg19H0XnWeD27fXCOmmcM-rLjkVe61WDEb8rktmtlMJAUtivDYJr8RxyI2kQF-ZddlrgukjzRtua2_FmWmohb5MeahhfQ6xmlM1HRbYSMlUBaGjSxx_Q4s3wNrpMNDWiDM0adA1iHH5h00VRo2t5iepytOY3YunEW3_UXKcqr9PZ8KV-ikW2mXXp45Xw39U96dkeD3M9dR3vexL8yBc8kNDeT6a8YpHb63HW8s6LUlV_jzB

// Verify a token
try {
  const decoded = auth.verifyToken(token);
  console.log('Decoded:', decoded);
  /* 
  Output: 
  { 
    header: { alg: 'RSA-SHA256' }, 
    payload: { userId: 123, role: 'admin' } 
  }
  */
} catch (err) {
  console.error('Verification failed:', err.message);
}

How it works?

@jnode/auth provides a lightweight and binary-safe alternative to JWT, focusing on a straightforward token format encoded in base64url.

The token structure is as follows:

  • Header Length: 2 bytes (UInt16BE)
  • Header JSON: n bytes
  • Payload Length: 2 bytes (UInt16BE)
  • Payload JSON: n bytes
  • Signature: RSA-SHA256 signature of the preceding segments (bytes 1 through 4).

This format ensures that the token is self-contained and tamper-proof while being extremely efficient to parse without complex regex or split operations.

Reference

Class: auth.AuthService

The main class to handle signing and verification of tokens.

new auth.AuthService(publicKey, privateKey)

  • publicKey <string> | <Buffer> | <KeyObject> The public key used for verification.
  • privateKey <string> | <Buffer> | <KeyObject> The private key used for signing.

Static method: AuthService.signToken(header, payload, privateKey)

Signs the provided header and payload using the RSA-SHA256 algorithm.

Static method: AuthService.verifyToken(token, publicKey)

Parses and verifies the token. Throws an Error if the signature is invalid or TypeError if keys are missing.

service.signToken(header, payload)

Instance method that uses the privateKey provided in the constructor to sign a token.

service.verifyToken(token)

Instance method that uses the publicKey provided in the constructor to verify a token.

Keywords

JustNode

FAQs

Package last updated on 21 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts