@clowk/express
Express middleware for Clowk authentication
Install
npm install @clowk/express @clowk/coreOverview
Express middleware that verifies JWTs and attaches the authenticated user to req.clowk.user.
What it provides:
ClowkExpressMiddleware()— middleware factoryreq.clowk.user— the decoded user after verificationreq.clowk.userId— shortcut for the user ID
ClowkExpressMiddleware
import { ClowkExpressMiddleware } from '@clowk/express'
const auth = ClowkExpressMiddleware()Options
| Option | Type | Default | Description |
|---|---|---|---|
onError | (err, req, res, next) => void | Returns 401 | Custom error handler |
extractToken | (req) => string | null | Auto-detect | Custom token extractor |
Token extraction order
The middleware looks for the JWT in this order:
- Query parameter:
?token=eyJ... - Cookie:
clowk_token - Authorization header:
Bearer eyJ...
req.clowk
After successful verification, req.clowk contains:
interface ClowkRequest {
user: {
id: string
email: string
name: string
provider: string
iat: number
exp: number
}
userId: string
}Error handling
By default, invalid or missing tokens return a 401 response:
{ "error": "Unauthorized" }Customize with onError:
const auth = ClowkExpressMiddleware({
onError: (err, req, res, next) => {
res.status(401).json({ error: err.message })
},
})Next steps
- Express quickstart — getting started guide
- @clowk/core reference — foundation package