mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-10 07:38:04 -05:00
Our API key generation, storage, and verification system has a couple of issues that need to be ironed out before full-scale deployment. ### Changes 🏗️ - Move from unsalted SHA256 to salted Scrypt hashing for API keys - Avoid false-negative API key validation due to prefix collision - Refactor API key management code for clarity - [refactor(backend): Clean up API key DB & API code (#10797)](https://github.com/Significant-Gravitas/AutoGPT/pull/10797) - Rename models and properties in `backend.data.api_key` for clarity - Eliminate redundant/custom/boilerplate error handling/wrapping in API key endpoint call stack - Remove redundant/inaccurate `response_model` declarations from API key endpoints Dependencies for `autogpt_libs`: - Add `cryptography` as a dependency - Add `pyright` as a dev dependency ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - Performing these actions through the UI (still) works: - [x] Creating an API key - [x] Listing owned API keys - [x] Deleting an owned API key - [x] Newly created API key can be used in Swagger UI - [x] Existing API key can be used in Swagger UI - [x] Existing API key is re-encrypted with salt on use
41 lines
929 B
TOML
41 lines
929 B
TOML
[tool.poetry]
|
|
name = "autogpt-libs"
|
|
version = "0.2.0"
|
|
description = "Shared libraries across AutoGPT Platform"
|
|
authors = ["AutoGPT team <info@agpt.co>"]
|
|
readme = "README.md"
|
|
packages = [{ include = "autogpt_libs" }]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.10,<4.0"
|
|
colorama = "^0.4.6"
|
|
cryptography = "^45.0"
|
|
expiringdict = "^1.2.2"
|
|
fastapi = "^0.116.1"
|
|
google-cloud-logging = "^3.12.1"
|
|
launchdarkly-server-sdk = "^9.12.0"
|
|
pydantic = "^2.11.7"
|
|
pydantic-settings = "^2.10.1"
|
|
pyjwt = { version = "^2.10.1", extras = ["crypto"] }
|
|
redis = "^6.2.0"
|
|
supabase = "^2.16.0"
|
|
uvicorn = "^0.35.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pyright = "^1.1.404"
|
|
pytest = "^8.4.1"
|
|
pytest-asyncio = "^1.1.0"
|
|
pytest-mock = "^3.14.1"
|
|
pytest-cov = "^6.2.1"
|
|
ruff = "^0.12.11"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = ["I"] # sort dependencies
|