fix(config): WS_TUNNEL_JWT_SECRET 在 `tunely serve` 下静默失效(配置 no-op,同类 bug 已在 admin_api_key/database_url 修过两次)

Abierto Apto para principiantes
#24 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
75/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
backend, cli

Línea de trabajo

Empieza en python/tunely/cli.py:98-125: serve vuelve a leer WS_TUNNEL_ADMIN_API_KEY/WS_TUNNEL_DATABASE_URL pero nunca jwt_secret, y la llamada a run_app en :148-157 lo omite, así que app.py:501 usa None por defecto y create_full_app (app.py:202-210) escribe un None explícito que anula env. Refleja el readback de api-key existente, o pasa jwt_secret solo cuando se proporcione explícitamente, luego comprueba que /api/info informe "required": true. Añade una prueba de serve/env-path junto a python/tests/test_jwt_auth.py:30-33, que hoy solo construye TunnelServer directamente, y actualiza deploy/README.md:50 si el flag cambia.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

场景 gap 单(okguitar 提报)· 优先级 P2 · 依赖:无

基线 HEAD = 020dec3。

Summary

  • python/tunely/cli.py:98-125:serve 只回读 WS_TUNNEL_ADMIN_API_KEY/WS_TUNNEL_DATABASE_URL,run_app(...) 从不传 jwt_secret(:148-157)→ run_app 默认 None(app.py:501)→ create_full_app 显式 TunnelServerConfig(..., jwt_secret=None)(app.py:202-210)——pydantic-settings 下显式 None 覆盖 env,WS_TUNNEL_JWT_SECRET(config.py:155-157,deploy/README.md:50 教人这么配)永远进不了配置。
  • 测试只覆盖直接构造 TunnelServer(jwt_secret=...)(python/tests/test_jwt_auth.py:30-33),无 serve/env 路径用例。

影响

运维按文档配了 JWT,/api/info 回 "required": false,"创建隧道需 Bearer JWT"这层防守根本没生效(只剩 admin key 一层)。deploy/README 自记过同款历史坑(0.5.x 显式 None 覆盖 env),admin_api_key/database_url 修过两次,jwt 漏网。

建议

serve 补 --jwt-secret + env 回读(与 api-key 同款);或 create_full_app 改"仅显式提供才传参";补一条 serve 路径 env 生效测试。

Lenguaje dominante
Python
Estrellas
0
Forks
0
Merge medio
1 min
PR fusionados (30 d)
1

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de jeffkit/tunely

Todos los issues de jeffkit/tunely

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.