NewsLayer.com
NewsLayer PulseLIVEBTC$82,000+1.03%ETH$2,448+3.20%SOL$106.28+3.13%XRP$1.34+1.49%DOGE$0.0823+2.67%ADA$0.2312+3.66%Total Cap$2.89T+1.66%Layer Index44 Neutral

Node.js JWKS-Endpoint mit Crypto: Fehlende Metadaten hinzufügen

Node.js JWKS-Endpoint mit Crypto: Fehlende Metadaten hinzufügen SitePoint

SitePoint

Publisher

Oct 13, 2026 at 3:40 PM UTC · Updated vor 3 Tagen · 14 Min. Lesezeit

Node.js JWKS-Endpoint mit Crypto: Fehlende Metadaten hinzufügen
Image via SitePoint

Key Signal

Node.js 22 Tested runtime version

Last Updated

vor 3 Tagen

Entwickler, die einen OAuth 2.0- oder OpenID Connect-Provider in Node.js erstellen, können Schlüsselpaare generieren und diese mit dem integrierten crypto-Modul als JSON Web Keys exportieren: Rufen Sie publicKey.export({ format: 'jwk' }) auf, richten Sie einen JWKS-Endpunkt ein und lassen Sie Ressourcenserver Token verifizieren. Der Export enthält nur das Schlüsselmaterial (kty plus n und e für RSA, oder crv, x und y für EC). Er lässt alg, use und kid weg. RFC 7517 markiert alle drei als optional, und wir haben getestet, dass ein einzelner nackter Schlüssel immer noch mit den aktuellen Versionen von jose und jwks-rsa verifiziert werden kann. Die Metadaten werden wichtig, sobald Sie mehr als einen Schlüssel veröffentlichen, was für eine Schlüsselrotation erforderlich ist: Ohne eine kid können Verifizierer nicht feststellen, welcher Schlüssel ein Token signiert hat. Dieser Artikel erstellt einen /.well-known/jwks.json-Endpunkt nur unter Verwendung des nativen crypto-Moduls von Node.js und Express und deckt die Schlüsselgenerierung, die Anreicherung von Metadaten, die Ableitung von RFC 7638-Thumbprints und die End-to-End-Verifizierung ab.

Voraussetzungen: ein aktuelles Node.js LTS-Release (der Code hier wurde unter Node.js 22 getestet), grundlegende Vertrautheit mit Express und ein Verständnis asymmetrischer Schlüsselkonzepte wie öffentliche/private Schlüsselpaare und digitale Signaturen. Das jose-Verifizierungsbeispiel verwendet die ES-Modul-Syntax, daher ist "type": "module" in der package.json oder eine .mjs-Dateiendung erforderlich. Aktualisiert im Oktober 2026: Code getestet gegen Express 4, jose 6.2.12 und jwks-rsa 4.1.0.

Article Intelligence

Sponsored

Ad
House — Advertise on NewsLayer
NewsLayerLearn more

NewsLayer Premium

Unlock deeper intelligence.

Ad-free reading, exclusive research, and real-time onchain insights.

Go Premium