Granting a permission to a user id with no account answers 500 instead of 404
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- Une demi-journée
- Accessibilité débutants
- 76/100
Piste de recherche
Commencez par le gestionnaire de la route d'attribution RBAC pour POST /api/v1/rbac/users/{user_id}/grant et par la recherche d'utilisateur utilisée par la route permissions sœur qui renvoie déjà 404. Ajoutez la recherche manquante avant l'insertion de l'attribution afin qu'un UUID inexistant renvoie 404 au lieu d'une erreur de base de données, et décidez s'il faut ignorer le user_id du corps ou rejeter une divergence avec l'ID présent dans le chemin. Exécutez les tests de l'API RBAC portant sur les attributions aux utilisateurs et les permissions afin de confirmer le nouveau 404 et le fait que les attributions existantes fonctionnent toujours.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
- Sent:
POST /api/v1/rbac/users/{user_id}/grantwith a valid body, where{user_id}is a well-formed UUID that
belongs to no account. - Comes back: 500 with the generic error body. The grant is inserted without looking the user up, and the database
refuses the row. Nothing is saved. - Expected: 404 "User not found", as
GET /api/v1/rbac/users/{user_id}/permissionsanswers for the same id. - Also: the body's required
user_idis not used (the path's id is); either drop it or refuse a body whose
user_iddiffers from the path, as the counter routes do (#95). - Reproduction (ADMIN):
curl -X POST -H "Authorization: Bearer <ADMIN token>" -H 'Content-Type: application/json' \ -d '{"user_id":"00000000-0000-0000-0000-000000000001","resource":"experiment","actions":["read"]}' \ http://localhost:8000/api/v1/rbac/users/00000000-0000-0000-0000-000000000001/grant
Found by API fuzzing (a local run), reproduced by hand.
- Langage dominant
- Python
- Étoiles
- 0
- Forks
- 4
- Merge moyen
- 6 h 5 min
- PR mergées (30 j)
- 453
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Controlvar/controlvar
-
Dashboard: an archived flag shows Off with an on/off switch the API refusesPeut-être pris @amarkanday l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Controlvar/controlvar#1748 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionPeut-être pris @amarkanday l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Controlvar/controlvar#1737 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
dashboard: a split URL draft's variant edit shows generic copy when the API refuses itPeut-être pris @amarkanday l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Controlvar/controlvar#1562 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
Controlvar/controlvar#1447 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Controlvar/controlvar#1428 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Controlvar/controlvar
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
RunestoneInteractive/rs#1661 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
streamlink/streamlink#7192 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
aws-samples/sample-per-model-bedrock#795 ·
Les mainteneurs répondent en général sous 1 jour