fix(auth): схема bearerAuth в OpenAPI — кнопка Authorize в Swagger UI #30
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/29-swagger-bearer-scheme"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bounded, Closes #29. Один файл кода + тесты.
Причина. Токен читался в
verified_claimsкакauthorization: Header(); для FastAPI это обычный параметр, не схема безопасности, поэтому вopenapi.jsonне былоcomponents.securitySchemes, а Swagger UI не рисовал Authorize.Что сделано.
HTTPBearer(scheme_name="bearerAuth", bearerFormat="JWT", auto_error=False); значение заголовка собирается обратно в строку и идёт в прежнийparse_bearer, так что 401 без заголовка, при чужой схеме и при «трёх частях» остались теми же; 403 не тронуты. Новые тесты вtest_openapi_routes.py: схемаbearerAuthобъявлена, все маршруты кромеPOST /dev/tokenиGET /healthcheckнесутsecurity.Как проверить.
make check(1126 passed),pytest -m "integration and not e2e" -k "auth or me_and_dev_token"(53 passed). Руками:/docsприDEBUG=true— замок Authorize справа вверху, вставитьaccess_tokenизPOST /dev/tokenбез слова Bearer, выполнитьGET /me.Rulings I made. Имя схемы
bearerAuthиbearerFormat: JWT— по соглашению OpenAPI; описание схемы содержит подсказку для Swagger. Публичные ручки: только dev-токен и healthcheck.Находки. Нет. Парный PR docs: гайд фронта §8 и QA §4.5 (RSHB/arm-ka-docs#32).
🤖 Generated with Claude Code