Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Chiusa Adatta ai principianti
#263 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
90/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
php

Direzione di ricerca

Inizia da Fleetbase\Http\Controllers\Internal\v1\UserController::setCurrentUserPassword() e confronta i suoi attributi di autorizzazione con quelli degli endpoint correlati dell'utente corrente, come changeCurrentUserEmail e acceptCompanyInvite. Verifica che la richiesta di impostazione della password per un utente autenticato invitato non amministratore non richieda più il permesso di creare utenti e venga completata correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
PHP
Stelle
20
Fork
41
Merge medio
1g 17m
PR unite (30g)
31

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.