Document OAuth callback consistency rules
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 74/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- authentication, documentation, security
Línea de trabajo
Comience con el callback de OAuth mostrado en el issue e inspeccione la documentación de autenticación existente del repositorio para encontrar la ubicación adecuada. Documente las cuatro comprobaciones de consistencia, incluidos el vencimiento de 900 segundos y la URI de redirección capturada, y verifique después que la redacción coincida con el comportamiento del callback.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The OAuth callback validates a combination of related data items (state, browser digest, code, timestamp) for contextual consistency, but this combined validation logic is not documented as a business rule:
state_data = pending_states.pop(state, None) # safe pop
browser = quart.request.cookies.get(STATE_COOKIE_NAME) or ""
if (state_data is not None) and (not hmac.compare_digest(state_data[2], _browser_digest(browser))):
state_data = None
if (state_data is None) or (state_data[0] < (time.time() - workflow_timeout)):
return quart.Response(status=403, ...)
redirect_uri = state_data[1]
The combined validation ensures:
- State exists and was issued by this application (not forged)
- The completing browser matches the initiating browser (via SHA-256 digest of cookie)
- The state has not expired (900-second window)
- The redirect URI is the one captured at initiation time
- Lenguaje dominante
- Python
- Estrellas
- 7
- Forks
- 14
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 apache/infrastructure-asfquart
-
bug priority
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Document external service endpoints and failure behaviorPosiblemente ocupada @AnKiT-GaRG2 la tomó hace 3 días. Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
ASVS priority
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/infrastructure-asfquart#85 · 1 comentario ·
-
Triage and track asfquart issuesPosiblemente ocupada @sbp la tomó hace 20 días. Abierto
apache/infrastructure-asfquart#134 · 1 asignado ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
apache/infrastructure-asfquart#132 · 1 comentario ·
Todos los issues de apache/infrastructure-asfquart
Issues similares
-
link-rot
Dificultad 1/5 Menos de una hora Aptitud para principiantes 67/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
developmentseed/titiler-cmr#265 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Insecure Brotli version <1.2.1Posiblemente ocupada @jamescw19 la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
stac-utils/stac-fastapi-pgstac#438 · 1 reacción ·
-
bug triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día