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

Invited non-admin users cannot set their password: set-password requires 'create user' permission

Fermée Adaptée aux débutants
#263 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
90/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
php

Piste de recherche

Commencez par Fleetbase\Http\Controllers\Internal\v1\UserController::setCurrentUserPassword() et comparez ses attributs d’autorisation avec ceux des endpoints frères de l’utilisateur courant, tels que changeCurrentUserEmail et acceptCompanyInvite. Vérifiez que la requête de définition du mot de passe pour un utilisateur authentifié invité qui n’est pas administrateur ne nécessite plus la permission de créer des utilisateurs et s’exécute correctement.

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

Description

Summary

Fleetbase\Http\Controllers\Internal\v1\UserController::setCurrentUserPassword() (POST /int/v1/users/set-password) is missing the #[SkipAuthorizationCheck] attribute that its sibling "current user" endpoints have (changeCurrentUserEmail, acceptCompanyInvite, setUserLocale, …). The authorization layer therefore applies the default permission for a POST on users, which is create user.

Impact

A newly invited user who is not an administrator cannot set their initial password. After accepting the invitation, the console opens the "Set a new password" modal (needs_password: true), and saving it fails with:

User is not authorized to create user

The modal has no close/decline button, so the user is stuck. Administrators are not affected because they hold the create user permission, which hides the bug.

Versions

Fleetbase v0.7.63 (core-api v1.6.62).

Reproduction

  1. IAM → Users → invite a new user with a non-admin role (e.g. Operations Manager from Fleet-Ops).
  2. Accept the invitation from the email.
  3. Enter and confirm a password in the "Set a new password" modal → POST /int/v1/users/set-password → error "User is not authorized to create user".

Suggested fix

#[SkipAuthorizationCheck]
public function setCurrentUserPassword(UpdatePasswordRequest $request)

The method only acts on $request->user(), so it needs authentication but no IAM permission.

Workaround

The invited user (already active after accepting) uses "Forgot your password?" on the login page to set the password by email.

Langage dominant
PHP
Étoiles
20
Forks
41
Merge moyen
1 j 17 min
PR mergées (30 j)
31

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.

Issues similaires

Plus d'issues PHP

Recevez les nouvelles issues par e-mail

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