ProjectTech4DevAI / ProjectTech4DevAI/kaapi-backend
Credentials: Validating Provider Keys
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 18
- Forks
- 10
- Merge medio
- 2 d 20 h
- PR fusionados (30 d)
- 14
Descripción
Describe the current behavior
Currently, when a user provides an OpenAI API key through the credentials endpoint, the key is saved directly to the credentials table without any validation. This means invalid, expired, or incorrectly formatted keys can be stored in the database. Users only discover the key is invalid later when they attempt to use it for LLM operations, leading to failed requests and a poor user experience.
Describe the enhancement you'd like
Add a validity check for OpenAI API keys before saving them to the credentials table. The validation should:
- Accept the API key from the user via the credentials endpoint
- Make a test request to OpenAI's API using the provided key (e.g., a lightweight call to list models or verify credentials)
- Only save the key to the database if the validation succeeds
- Return a clear error message to the user if the key is invalid, explaining why it failed
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.
Línea de trabajo
Empieza por el endpoint de credenciales y sigue cómo se escriben las claves de proveedor en la tabla de credenciales. Revisa la solicitud a la API de OpenAI utilizada para la validación y el manejo de errores del endpoint; después, verifica que las claves válidas se guarden, que las claves no válidas se rechacen con una explicación clara y que una validación fallida no persista la clave.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100