# E2E report: auth-edge Запущен: 2026-05-26T07:02:20.238Z Длительность: 3.9с **Итог:** 10 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 10) ## ✓ Step step01_bootstrap_admin: SuperAdmin создаёт орг + админа, получаем access+refresh Длительность: 1168мс | Тип | Проверка | Результат | |---|---|---| | api | Initial login → 200 | ✓ status=200 | | api | Получили access + refresh | ✓ | ## ✓ Step step02_refresh_token_works: Refresh: старый access обменивается на новые access+refresh Длительность: 331мс | Тип | Проверка | Результат | |---|---|---| | api | POST /connect/token (refresh) → 200 | ✓ status=200 | | api | Новый access ≠ старый | ✓ | | api | Новый refresh ≠ старый (rotation) | ✓ | | api | Новый access → /api/me 200 | ✓ status=200 | ## ✓ Step step03_refresh_token_rotates: После refresh — старый refresh-token больше не работает (rotation) Длительность: 127мс | Тип | Проверка | Результат | |---|---|---| | api | Повторное использование старого refresh → 4xx | ✓ status=400 error=invalid_grant | ## ✓ Step step04_invalid_refresh_rejected: Невалидный refresh-token возвращает 400 invalid_grant Длительность: 79мс | Тип | Проверка | Результат | |---|---|---| | api | Случайный refresh → 4xx | ✓ status=400 error=invalid_grant | ## ✓ Step step05_tampered_jwt_rejected: JWT с подделанным org_id (изменён без переподписи) отшивается 401 Длительность: 24мс | Тип | Проверка | Результат | |---|---|---| | api | Изменённый payload (подпись не сходится) → 401 | ✓ status=401 | ## ✓ Step step06_random_jwt_rejected: Случайный JWT-подобный токен из другого ключа отшивается 401 Длительность: 12мс | Тип | Проверка | Результат | |---|---|---| | api | Случайный HS256 «JWT» → 401 | ✓ status=401 | ## ✓ Step step07_deactivated_user_blocked: Деактивация User.IsActive=false: повторный login и refresh возвращают 400 Длительность: 528мс | Тип | Проверка | Результат | |---|---|---| | api | Login деактивированного → 4xx | ✓ status=400 | | api | Refresh деактивированного → 4xx | ✓ status=400 error=invalid_grant | ## ✓ Step step08_archived_org_blocks_login: Архивная организация: login существующего админа возвращает 400 invalid_grant Длительность: 373мс | Тип | Проверка | Результат | |---|---|---| | api | Архивация орг → 200/204 | ✓ status=204 | | api | Login юзера архивной орги → 4xx | ✓ status=400 error=Организация удалена или архивирована. Обратитесь к владельцу. | ## ✓ Step step09_duplicate_signup_blocked: Повторный signup с тем же email живой орги отвергается 400 Длительность: 39мс | Тип | Проверка | Результат | |---|---|---| | api | Повторный signup на занятый email → 4xx | ✓ status=400 {"error":"Пользователь с таким email уже зарегистрирован."} | ## ✓ Step step10_orphan_signup_reactivates: Signup с email orphan-юзера (его org удалена) — реактивирует с новой org Длительность: 1179мс | Тип | Проверка | Результат | |---|---|---| | api | First signup → 200/201 | ✓ status=200 {"organizationId":"c41c2728-ce20-4205-840e-d465bbee537e","email":"orphan-1779778940238@example.kz"} | | api | Re-signup orphan email → 200/201 (реактивация) | ✓ status=200 {"organizationId":"14bd0fa0-fcc2-404a-948b-b6980972ffa3","email":"orphan-1779778940238@example.kz"} | | api | Login после реактивации → 200 | ✓ status=200 | ## Summary - Passed: 10 - Failed: 0 - Warnings: 0 - Skipped: 0 ## Critical bugs Нет.