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

Password policy violation is reported as `auth/internal-error` instead of a specific error code

Ouverte Adaptée aux débutants
#3,265 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@lahirumaramba y travaille déjà.

Depuis le 7/10/2026.

  • #3291 par @sean0407 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
85/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
firebase, node.js, typescript
Domaine
authentication

Piste de recherche

Commencez dans src/auth/error.ts en lisant AUTH_SERVER_TO_CLIENT_CODE, l’entrée AuthErrorCode et FirebaseAuthError.fromServerError. Testez le mapping avec la chaîne PASSWORD_DOES_NOT_MEET_REQUIREMENTS fournie. C’est terminé lorsque createUser, updateUser et le mapping direct renvoient auth/password-does-not-meet-requirements tout en conservant le message concernant les exigences manquantes.

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

Description

[REQUIRED] Step 2: Describe your environment
  • Operating System version: macOS 15.7.7 (local), Cloud Functions Node.js 20 runtime (production)
  • Firebase SDK version: firebase-admin 13.8.0 (also reproduced on 14.5.0)
  • Firebase Product: auth
  • Node.js version: 20.19.2
  • NPM version: 10.8.2
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:

With a password policy in Require (ENFORCE) mode, auth().createUser() or updateUser() with a non-compliant password rejects with auth/internal-error, not a specific error code.

The server returns PASSWORD_DOES_NOT_MEET_REQUIREMENTS, but that code is missing from AUTH_SERVER_TO_CLIENT_CODE in src/auth/error.ts. FirebaseAuthError.fromServerError therefore falls back to INTERNAL_ERROR. Callers can't tell this user-input error from a real internal error without parsing the message. The client SDK already uses auth/password-does-not-meet-requirements for the same case.

  1. Enable a password policy in Require mode, e.g. minimum length 10.
  2. Call createUser with a password that doesn't meet it.

Actual: code is auth/internal-error, and the server code only appears in the message:

Missing password requirements: [Password must contain at least 10 characters, Password must contain a lower case character, Password must contain an upper case character] Raw server response: "{"error":{"code":400,"message":"PASSWORD_DOES_NOT_MEET_REQUIREMENTS : Missing password requirements: [...]","errors":[...]}}"

Expected: a specific code, e.g. auth/password-does-not-meet-requirements to match the client SDK, keeping the missing-requirements message.

Suggested fix: add PASSWORD_DOES_NOT_MEET_REQUIREMENTS to AUTH_SERVER_TO_CLIENT_CODE, with a matching AuthErrorCode entry, in src/auth/error.ts.

Relevant Code:
const { getAuth, FirebaseAuthError } = require("firebase-admin/auth");

// Against a project with a password policy in Require mode:
try {
  await getAuth().createUser({ email: "[email protected]", password: "weakpass" });
} catch (err) {
  console.log(err.code); // "auth/internal-error"
}

// Same mapping, without a project:
const err = FirebaseAuthError.fromServerError(
  "PASSWORD_DOES_NOT_MEET_REQUIREMENTS : Missing password requirements: [Password must contain at least 10 characters]"
);
console.log(err.code); // "auth/internal-error", expected "auth/password-does-not-meet-requirements"
Langage dominant
TypeScript
Étoiles
1.7k
Forks
423
Merge moyen
1 j 54 min
PR mergées (30 j)
16

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 firebase/firebase-admin-node

Toutes les issues de firebase/firebase-admin-node

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

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