Verify: allow passing a function to `audience`
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
- Bereich
- authentication
Rechercherichtung
Beginne beim Einstiegspunkt jwt.verify() und verfolge, wie die audience-Option verwendet wird, einschließlich der hier beschriebenen Weitergabe von jwt-express. Verwende das Beispiel für dynamische Audiences, um die unterstützte Rückgabeform der Funktion für einen String oder ein Array zu verdeutlichen, und füge Tests hinzu, die zeigen, dass geänderte Werte erkannt werden, ohne die App neu zu starten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the problem you'd like to have solved
We have a use case where our audience list comes from AWS Parameter Store and could be changed on the fly without having to restart the whole app.
Describe the ideal solution
It would be ideal to be able to pass a function that return the audience(s). Something like this;
// This could be updated elsewhere.
// Could be an array ['audience1', 'audience2'] or just a string.
let audiences = []; ;
jwt.verify(token, secretOrPublicKey, {
audience: function() {
return audiences; return the reference to the list.
}
});
Alternatives and current work-arounds
We actually are not calling jwt.verify() directly but uses jwt-express to create a middleware for token verification. jwt-express passes through the audience option to jwt.verify() internally. Here's what we currently have:
app.use(jwtExpress({ audience: audiences }));
The middleware only gets the copy of the list at the time the app starts. We could wrap the jwtExpress middleware inside another middleware that always returns the current copy of the audiences list, but it would be an ugly solution.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 18.2k
- Forks
- 1.3k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus auth0/node-jsonwebtoken
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
auth0/node-jsonwebtoken#1042 · 1 Kommentar ·
-
`jwt.sign()` callback is executed twice for "The payload already has an "..." property" errors Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
auth0/node-jsonwebtoken#1000 · 2 Kommentare · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 65/100
auth0/node-jsonwebtoken#1046 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 10/100
auth0/node-jsonwebtoken#1034 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
auth0/node-jsonwebtoken#1032 ·
Alle Issues in auth0/node-jsonwebtoken
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
area-deployment area-integrations triage:bot-seen
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 86/100
-
Issue-Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
sugarlabs/musicblocks#8924 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
ArduPilot/ardupilot_wiki#8088 ·
-
[BUG] createTool tools cannot be registered with Mastra when exactOptionalPropertyTypes is enabled Offencustomer-eng status: needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100