Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Azure "JsonWebTokenError: invalid algorithm"

Ouverte
#820 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
azure, javascript, node.js

Piste de recherche

Commencez par le chemin de l’API backend contenant jwt.verify et comparez son comportement de déploiement dans Azure Static Web Apps avec celui de l’émulateur local. Examinez le token déployé, le certificat renvoyé par Microsoft identity jwks_uri et l’algorithme RS256 configuré ; l’issue est terminée lorsque la cause de l’erreur Azure-only invalid-algorithm est identifiée et que la vérification fonctionne ou que la limitation est documentée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Description

Only occurs when deployed to Azure cloud, local Azure Static Web Apps emulator is all ok.

Azure Static Web App (SWA) with integrated API. One of the step at backend API is to validate the Bearer Token with public key submitted in request headers:

const jwt = require("jsonwebtoken");  // v 8.5.1
async function getMSPublicKey(misc)   // misc contains kid and tenantId, confirmed in F12 request header
{
    var vurl = "https://login.microsoftonline.com/" + misc.tenantId + "/v2.0/.well-known/openid-configuration";
    const x1 = await fetch(vurl);
    const x2 = await x1.json();
    const x3 = await fetch(x2.jwks_uri);
    const k = await x3.json();
    return pkey = k.keys.find( k => k.kid === misc.kid).x5c[0];  // public key in the entry matching kid
}

var vmisc = JSON.parse(ac.req.headers["misc"]);
var publickey = "-----BEGIN CERTIFICATE-----\n" + await getMSPublicKey(vmisc) + "\n-----END CERTIFICATE-----";

// next line is reported in AppTraces, Message = JsonWebTokenError: invalid algorithm
var payload = jwt.verify(theToken, publickey, { algorithms: ['RS256'] });
// theToken is validated ok at jwt.io
Environment

Azure Static Web Application

  • jsonwebtoken: v 8.5.1
  • azurefunctions: 3.5.2.0, node v 14.16.0
  • VSC Version: 1.63.1 (system setup)
    Commit: fe719cd3e5825bf14e14182fddeb88ee8daf044f
    Date: 2021-12-14T02:13:54.292Z
    Electron: 13.5.2
    Chromium: 91.0.4472.164
    Node.js: 14.16.0
    V8: 9.1.269.39-electron.0
    OS: Windows_NT x64 10.0.19044
Langage dominant
JavaScript
Étoiles
18.2k
Forks
1.3k
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de auth0/node-jsonwebtoken

Toutes les issues de auth0/node-jsonwebtoken

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.