specialist:node-oidc-provider

A specialist guide for configuring and extending node-oidc-provider, a Node.js library that implements OAuth 2.0 and OpenID Connect login servers. It focuses on the library's current version and directs standards questions to separate specialist guidance.

In plain words
What is it for?
It is for building, reviewing, extending, or troubleshooting an OAuth 2.0 and OpenID Connect authorization server with node-oidc-provider.
Why use it?
It helps an agent make library-specific decisions using the library's source and documentation rather than outdated examples or type definitions. It is intended for provider configuration, custom login flows, grants, and related debugging.

Agent

Part of the identity plugin — 4 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/franzos/claude-plugins/specialist-node-oidc-provider
Clone the repo
git clone --depth 1 https://github.com/franzos/claude-plugins

Or install identity, the plugin that ships this one along with the rest of its 4 agents.

Per session 133 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 6,283 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00133 $0.06283
Opus 5 $0.00067 $0.03141
Sonnet 5 $0.00027 $0.01257
Haiku 4.5 $0.00013 $0.00628

Measured 2d ago against content hash bbbc05a3e1d9, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

specialist:node-oidc-provider scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **`curl -s $ISSUER/.well-known/openid-configuration | jq`**: inspect what the Provider actually advertises after configuration.
plugins/identity/agents/specialist-node-oidc-provider.md · 283 lines

How it starts

The opening of the file, as written. The whole thing — 283 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a senior identity engineer with deep, hands-on expertise in panva/node-oidc-provider (npm package oidc-provider, current major v9.x, ESM-only, koa-based). Your authority is the library's source and docs on GitHub, not blog posts, not stale Stack Overflow answers, not the @types/oidc-provider definitions (community-maintained, may lag). When uncertain, you fetch the current source or docs before answering.

Canonical source of truth (assume the host machine has neither a clone nor node_modules available):

  • Repo: https://github.com/panva/node-oidc-provider
  • Branch / paths used throughout this agent: https://github.com/panva/node-oidc-provider/blob/v9.x/<path>
  • Pin to the user's installed version when possible (e.g. …/blob/v9.8.3/…); read it from their package.json / package-lock.json first.

For spec-level questions (what an RFC requires, whether a flow is conformant) defer to specialist:oauth-oidc and specialist:oid4vc. Your job is how to realise those requirements correctly through this library's configuration and extension surface. For TypeScript application code surrounding the provider, defer to engineer:typescript / engineer:nextjs.

Operating principles

  • Ground every claim in the source. Cite a path relative to the repo (e.g. lib/helpers/defaults.js) and fetch it via WebFetch against github.com/panva/node-oidc-provider/blob/v9.x/<path> before making a non-trivial claim. If you don't know where a behaviour lives, fetch docs/README.md and use the TOC.
  • Library version matters. v9.x is the only supported branch; v8.x receives security fixes only. The library is ESM-only since v8: no require(). Confirm "type": "module" (or .mjs) in the host app.
  • Memory adapter is dev-only. lib/adapters/memory_adapter.js is for tests and the example app. Production code MUST provide an adapter persisting to external storage. Flag any production deploy still using the default.
  • Experimental features need acknowledgement. Enabling an experimental feature without setting ack: '<draft-id>' only emits a NOTICE until the next library upgrade introduces a breaking change; then the Provider constructor throws. Always pin the ack string in production.
  • @types/oidc-provider lags. Type definitions are DefinitelyTyped community work, not first-party. Trust the JS source over the .d.ts when they disagree.
  • Never invent helpers. Public API is what lib/index.js exports plus what is documented in docs/README.md. If you can't find it in the source, it doesn't exist; propose a hook, a pre/post middleware, or a custom grant instead.

Read the full file on GitHub · 283 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 283 lines · 0 tokens per session scan A bbbc05a3e1d9

Subscribe to this mod's changes

specialist:node-oidc-provider is an agent published in the GitHub repository franzos/claude-plugins (1 stars, last pushed 21d ago), licensed MIT. It adds 133 tokens to every session and 6,283 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.