KeyError не информативно и не коректно, вывывать свое исключение
Необходимо обработать исключение и задать логику рейса своей ошибки которая будет обьяснять причину без ненужного Traceback
Написать тесты
| [2024-02-06T09:51:01.174Z] | aiohttp.access | INFO - "85.209.44.92 GET /api/auth/auction?token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMyIsImR1ciI6ODY0MDAsImJpZCI6MTIzLCJpc3MiOiJwcm96b3Jyby5hcGkifQ.TvD1IdYDJfPMdLuaIIJtnxB5BSYfdy2FN6_o9Ww4LTDlIPPg2r4cLMQ8sixGsLhxnuH71ZYbZh4rY-UH8hdbGhRwAV7DqOOKhjbLd965DC3vciU8i2xpqOmt4Ulr3zvEuHMGKx0mynFCGmPN_dng9_JVa_6qfK8byWGgtTcLQuRgp4ibjIRDdn2dbTi8w8L5PJuk1uasTCqC4QVuTAm0EcfXW8hvv9fxXlv3W3vonNlDL49Phv4_8_ib53snQ6wT0vDBYQ7vytIVTUnTorWnrEvdQCxBHdU1iBu8fTDYCx2PB691n2pMlDXk1jUc1O2xHU4KMjES0KevzyMFK2sqLQ HTTP/1.1 500 272 https://procedure-sandbox.prozorro.sale/api/doc Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.85 Safari/537.36 0.001000 " | X-Request-ID: 17AC7F000001AE607F000001005065C2010544D53C19 |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[2024-02-06T09:51:01.174Z] | prozorro_sale.tools.errors | ERROR - Unknown error caught in API - 'kid' | X-Request-ID: 17AC7F000001AE607F000001005065C2010544D53C19
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/tools/errors.py", line 48, in handler
return await func(request, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/tools/errors.py", line 108, in _catch_error_middleware
return await handler(request, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/auth/__init__.py", line 269, in context_middleware
return await handler(request)
File "/auth/prozorro_sale/auth_service/api/api.py", line 91, in auth_auction
data = utils.get_token(request)
File "/auth/prozorro_sale/auth_service/utils.py", line 25, in get_token
return decode_token(token)
File "/auth/prozorro_sale/auth_service/utils.py", line 109, in decode_token
key_id = jwt.get_unverified_header(token)['kid']
KeyError: 'kid'
а также
[2024-02-06T09:51:57.459Z] | aiohttp.access | INFO - "85.209.44.92 GET /api/auth/auction?token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Imh0dHA6Ly92NTF6MDZmOHBub2czb2w3M29wend5cW0zZDk0eHdsbC5vYXN0aWZ5LmNvbSJ9.eyJpZCI6IjEyMyIsImR1ciI6ODY0MDAsImJpZCI6MTIzLCJpc3MiOiJwcm96b3Jyby5hcGkifQ.pPl4Bd17IjLMO3CLg9f2hYXs2O3rh1UhRpz6t32d8gUW9W1t5aeTtqhE4PP3U1zDKF3zUZ8-dbYcNP2X_Ou7-PJS3FvJH_rUgGkuNVyqjgihgN0dezCG9lNraE3_5aA1ID6Yx2xpaXvrK4PmQrGWL0P04OFUKVjaDsoXuTAwQ4aUNJz7LuKaICdaVwlBBALudva3dq84aoCSrkEm_lZdWlX64CDDfMdf8xsrrjXMB9WjtSL90R63EkmhrHSgwR735oe2X8ouOulr0JI56TZMKBBpvoJT3eTkpUvG1Vchcala6umAFbh63v0hTEVeZWGhMWURngrD1HrPCfWLGCT5aQ HTTP/1.1 500 273 https://procedure-sandbox.prozorro.sale/api/doc Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.85 Safari/537.36 0.001000 " | X-Request-ID: 17AC7F000001B2287F000001005065C2013D198D54033
[2024-02-06T09:51:57.458Z] | prozorro_sale.tools.errors | ERROR - Unknown error caught in API - 'http://v51z06f8pnog3ol73opzwyqm3d94xwll.oastify.com' | X-Request-ID: 17AC7F000001B2287F000001005065C2013D198D54033
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/tools/errors.py", line 48, in handler
return await func(request, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/tools/errors.py", line 108, in _catch_error_middleware
return await handler(request, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/prozorro_sale/auth/__init__.py", line 269, in context_middleware
return await handler(request)
File "/auth/prozorro_sale/auth_service/api/api.py", line 91, in auth_auction
data = utils.get_token(request)
File "/auth/prozorro_sale/auth_service/utils.py", line 25, in get_token
return decode_token(token)
File "/auth/prozorro_sale/auth_service/utils.py", line 110, in decode_token
key = REGISTERED_KEYS[key_id]
KeyError: 'http://v51z06f8pnog3ol73opzwyqm3d94xwll.oastify.com'