Fastify plugin that adds an IndieAuth Token Introspection Endpoint to a Fastify server.
IndieAuth extends OAuth 2.0 Token Introspection by adding that the introspection response MUST include an additional parameter, me
.
npm install @jackdbd/fastify-introspection-endpoint
Options for the Fastify introspection-endpoint plugin
Properties
Name | Type | Description | Required |
---|---|---|---|
ajv | Instance of Ajv |
no | |
includeErrorDescription | boolean |
Whether to include an error_description property in all error responses. This is meant to assist the client developer in understanding the error. This is NOT meant to be shown to the end user.Default: false |
no |
isAccessTokenRevoked | Function |
Predicate function that returns true if a jti (JSON Web Token ID) is revoked. |
yes |
isRefreshTokenRevoked | Function |
Predicate function that returns true if a refresh token is revoked. |
yes |
issuer | string |
The authorization server's issuer identifier. It's a URL that uses the "https" scheme and has no query or fragment components. It MUST also be a prefix of the indieauth-metadata URL. Format: "uri" |
yes |
jwksUrl (JWKS public URL) |
object |
URL where the public JSON Web Key Set is hosted. |
yes |
logPrefix | string |
Default: "[introspection-endpoint] " |
no |
me | yes | ||
reportAllAjvErrors (report all AJV errors) |
boolean |
Whether to report all AJV validation errors. Default: false |
no |
retrieveAccessToken | Function |
Retrieves an access token from a storage backend. |
yes |
retrieveRefreshToken | Function |
Retrieves a refresh token from a storage backend. |
yes |
Example
{
"includeErrorDescription": false,
"jwksUrl": {},
"logPrefix": "[introspection-endpoint] ",
"reportAllAjvErrors": false
}
URL where the public JSON Web Key Set is hosted.
Properties
Name | Type | Description | Required |
---|---|---|---|
hash | string |
yes | |
host | string |
yes | |
href | string |
yes | |
hostname | string |
yes | |
origin | string |
yes | |
password | string |
yes | |
pathname | string |
yes | |
port | string |
yes | |
protocol | string |
yes | |
search | string |
yes | |
searchParams | yes | ||
username | string |
yes | |
toJSON | yes |
Additional Properties: allowed
Package | Version |
---|---|
@fastify/formbody | ^8.0.2 |
@fastify/response-validation | ^3.0.3 |
@jackdbd/canonical-url | 0.2.0-canary.8 |
@jackdbd/fastify-hooks | 0.2.0-canary.16 |
@jackdbd/indieauth | 0.2.0-canary.14 |
@jackdbd/oauth2-error-responses | 0.2.0-canary.9 |
@jackdbd/schema-validators | 0.2.0-canary.12 |
@sinclair/typebox | ^0.34.14 |
ajv | ^8.17.1 |
ajv-formats | ^3.0.1 |
fastify-plugin | ^5.0.1 |
This package defines 2 peer dependencies.
Peer | Version range |
---|---|
@fastify/request-context |
>=6.0.0 |
fastify |
>=5.0.0 |
© 2024 - 2025 Giacomo Debidda // MIT License