Tighten role-based access control and expose a permissions endpoint
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- api, authentication, authorization, backend
Línea de trabajo
Comienza localizando los puntos de entrada para el reconocimiento de alertas, el etiquetado/desemparejamiento de secuencias y la transmisión en directo de la cámara; después, sigue las comprobaciones de roles existentes y las convenciones de respuesta denegada. Revisa cómo están organizados los endpoints de usuarios autenticados antes de implementar la respuesta de permisos; se considerará terminado cuando las cuentas USER estén bloqueadas con un payload forbidden_role coherente y GET /users/me/permissions informe de las acciones permitidas correspondientes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Some sensitive endpoints (alert acknowledgement, camera live stream) need clearer role gating so that USER accounts cannot perform
agent/admin-only actions. The platform also needs a reliable way to know, ahead of time, whether the current user can perform a given
action.
Goals
- Enforce role checks on sensitive actions and ensure USER is blocked on:
- Alert acknowledgement (sequence labeling, sequence unmatch)
- Camera live stream access
- Return a clean, machine-readable error payload when access is denied, so the platform can display a proper message to the end user
(e.g. consistent detail + an error code like forbidden_role). - Add a GET /users/me/permissions (or equivalent) endpoint that returns, for the authenticated user, which actions they are allowed to
perform (e.g. can_acknowledge_alert, can_access_live_stream, can_label_sequence, …). The frontend should rely on this rather than
hardcoding role logic.
- Lenguaje dominante
- Python
- Estrellas
- 30
- Forks
- 14
- Merge medio
- 3 d 18 h
- PR fusionados (30 d)
- 13
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pyronear/pyro-api
-
type: feat
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
Los mantenedores suelen responder en 2 días
-
Return the number of alerts per day over a periodPosiblemente ocupada @Majyles la tomó hace 3 días. Abiertotype: feat
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
pyronear/pyro-api#719 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
type: feat
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 2 días
-
Application metrics of the APIAbiertotype: feat
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 2 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 2 días
Todos los issues de pyronear/pyro-api
Issues similares
-
Link Checker ReportAbiertoautomated issue linkchecker report
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
QuantEcon/lecture-python.myst#1098 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
[Bug]: Processing errors missing from Docker logs due to incorrect console-handler detectionAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
podly-pure-podcasts/podly_pure_podcasts#279 ·
Los mantenedores suelen responder en 1 día
-
New template proposal: ljpAbiertotemplate-proposal
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
OpenShot/openshot-qt#6230 ·
Los mantenedores suelen responder en 1 día