Мониторинг login flow: что StillOnline может и не может
«Пользователь входит?» — не то же самое, что «/health отдаёт 200?». Auth0, Clerk или cookie-сессии падают, пока процесс API жив.
StillOnline гоняет stateless HTTP GET — без браузера, OAuth-редиректов и паролей. Ниже честные альтернативы: status IdP, server-side проверка токена в /health, внешняя синтетика login.
Краткий ответ
StillOnline не выполняет интерактивный вход и headless browser. Мониторьте GET /api/health, при инциденте IdP — Degraded на Входе со ссылкой на Auth0 Status; опционально маршрут с тестовым refresh token из env (200/503, секреты не в ответе). Free — один URL раз в пять минут; browser login — вне StillOnline. Пароли production в URL проверки нельзя.
Сбой vs проба
| Сбой | Только /health | Проба StillOnline |
|---|---|---|
| Падение IdP | Часто 200 | Зелёный — ручной component |
| БД сессий | 503 на /ready | Красный, если мониторите /ready |
| Сломан OAuth в UI | 200 на API | Зелёный |
| MFA/CAPTCHA | — | Не поддерживается |
OAuth 2.0 нужен user agent — не plain GET.
Паттерн A — IdP + API (indie)
- HTTP на
api.../health. - Status вендора; ручной инцидент Вход — сторонние статусы.
- Telegram по вашему URL.
Паттерн B — server-side auth-health
GET /internal/auth-health
Authorization: Bearer <probe-secret>
→ 200 при успешном refresh тестового аккаунта
→ 503 при сбое token endpoint
Секрет в env; на Pro — отдельный URL от /health. Проверьте UI StillOnline для заголовков.
Паттерн C — внешняя синтетика
Playwright/Checkly → heartbeat URL для StillOnline — cron heartbeat.
Лимиты Free
| Ресурс | Free |
|---|---|
| URL на проект | 1 |
| Интервал | 300 с |
| Browser login | Нет |
Pro — второй URL — тарифы.
Связанные материалы
FAQ
StillOnline логинится тестовым пользователем?
Нет — server-side route или внешняя синтетика.
Auth0 зелёный, вход наш сломан?
Ручной инцидент Вход; проба может остаться зелёной.
Кастомные Authorization headers на Free?
Смотрите текущий UI; лучше health без секрета в URL пробы.