Home session expiry maps 401 by exact error-string match (Low)
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 56/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
Línea de trabajo
Start with home_projection_token_error in elastos/crates/elastos-server/src/api/gateway_home_runtime.rs, then read grant_bound_token_expiry in gateway_home_token.rs and RoomSessionAuthorization::validate in room_service.rs. Replace the exact message comparison with typed error handling, and log the underlying grant-store error before it is collapsed. Done when inactive or revoked grants map to 401 regardless of message wording and the underlying error is logged.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Severity: Low (fails closed; correctness and observability only)
Found in the security review of #536.
Current behavior
home_projection_token_error (elastos/crates/elastos-server/src/api/gateway_home_runtime.rs) decides 401 by exact string equality:
if err.to_string() == "home launch token auth session is not active" { 401 } else { 500 }
A future rewording of load_active_session_grant, an added .context(...), or any anyhow display change falls through to gateway_internal_error → 500. Access is still denied, but the client loses its "re-authenticate" signal and logs fill with misleading 500s.
Fix
- Use a typed error (an enum such as
HomeTokenError::SessionInactive, orerr.downcast_ref) instead of string equality. - Log the underlying error before the
map_err(|_| …)collapses ingrant_bound_token_expiry(gateway_home_token.rs) andRoomSessionAuthorization::validate(room_service.rs), so a lapsed grant is distinguishable from I/O or state corruption.
Done means
- A lapsed or revoked grant maps to 401 regardless of how the grant loader's message is worded.
- The underlying grant-store error is logged before it is collapsed to an auth failure.
- Lenguaje dominante
- Rust
- Estrellas
- 6
- Forks
- 2
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 42
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 elastos/elastos-runtime
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
elastos/elastos-runtime#563 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
elastos/elastos-runtime#508 ·
Los mantenedores suelen responder en 1 día
-
Documents: Markdown preview web links go through Home's confirmed link flow (#430 follow-up)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
elastos/elastos-runtime#436 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
elastos/elastos-runtime#427 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
elastos/elastos-runtime#405 ·
Los mantenedores suelen responder en 1 día
Todos los issues de elastos/elastos-runtime
Issues similares
-
bug good first issue help wanted linux macos testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
area: app type: test
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
bug priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
storytold/photocraft#12706 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug priority-low to-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
examples/dca and limit-order: swap always fails on the real Soroswap router (deadline equals now)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
sorocon-labs/sorocron#172 ·
Los mantenedores suelen responder en 1 día