Registry / auth-security / cf-auth-middleware

cf-auth-middleware

JSON →
library3.1.0jsnpmunverified

Express middleware for authenticating API requests using cf-auth-provider and request signing. Provides HMAC-based authentication via headers or query parameters, with custom TTL and per-request entity injection. Supports Node >=4. Designed for use with cf-signature for client-side signing. Configurable logger, request property, and query key filtering. Stable v3 series with minimal API changes.

npm install cf-auth-middleware
INSTALL
IMPORT
SIG · CF-AUTH-MIDDLEWARE
C
cf-auth-middleware
auth-securityjavascriptv3.1.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

createAuthMiddleware
const createAuthMiddleware = require('cf-auth-middleware')
import createAuthMiddleware from 'cf-auth-middleware'
Package is CommonJS-only; no default ESM export. Use require().
middleware (returned by createAuthMiddleware)
const authMiddleware = createAuthMiddleware(authProvider, options)
const authMiddleware = createAuthMiddleware()
authProvider is mandatory; options is optional.
createAuthMiddleware (as named import attempt)
const createAuthMiddleware = require('cf-auth-middleware')
const { createAuthMiddleware } = require('cf-auth-middleware')
Export is a single function directly, not an object with named property.

Shows basic setup: create auth middleware with provider and apply to a route.

var express = require('express'); var createAuthMiddleware = require('cf-auth-middleware'); var authProvider = require('cf-auth-provider')(myCollection, hashFn); var app = express(); var authMiddleware = createAuthMiddleware(authProvider, { reqProperty: 'user', logger: console }); app.get('/private', authMiddleware, function (req, res) { res.send(`Hello ${req.user || 'unknown'}`); }); app.listen(3000);
Debug
Known issues
gotchaQuery string parameters must match exactly; extra keys like cachebusting params will cause signature mismatch unless ignored via options.ignoreQueryKeys.
fix
Add custom query keys to options.ignoreQueryKeys array.
affects: >=1.0.0
breakingv2 deprecated; v3 changed default reqProperty from 'authedClient' to 'authedClient' (same) but removed some undocumented options.
fix
Update to v3 and review custom options.
affects: >=2.0.0 <3.0.0
gotchaCannot be used without cf-auth-provider; signature verification requires a pre-configured provider instance.
fix
Initialize auth provider with your collection and hash function before creating middleware.
affects: >=1.0.0
gotchaTTL is parsed as milliseconds; ensure client sends x-cf-ttl as integer string.
fix
Validate client sends x-cf-ttl as number in milliseconds.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: createAuthMiddleware is not a function
Using ES6 import syntax with CommonJS package.
fix
Replace import with const createAuthMiddleware = require('cf-auth-middleware');
Error: authentication failed - missing x-cf-date header
Request missing required date header or query parameter.
fix
Ensure client includes x-cf-date in header or query string.
TypeError: Cannot read property 'debug' of undefined
options.logger is missing required methods (debug, info, warn, error).
fix
Provide a logger object with those methods or omit (defaults to console).
Upgrade
Version history
3.1.0latest on npm
Audit
Dependencies
cf-auth-providerrequiredPeer dependency providing authentication logic
Agent activity
15 hits · last 30 days
node
14
OpenAI (training)
1
Resources
cf-auth-middleware — npm install cf-auth-middleware · libregistry