Логін ТЮ
Логін кожної анкети (TU) на сайт проекту + сокет по TU. На відміну від логіну оператора — механіка своя в кожного сайту: різні креденшели, різний носій сесії, різні ключі сокета. Стартує після того, як логін оператора пройшов перевірки й дав список анкет.
Логіка
- Беремо
AVAILABLE-анкети зі списку (з логіну оператора). - По кожній — логін на сайт проекту (механіка нижче).
- Піднімаємо сокет по TU.
- TU залогінена → по ній стартують основні логіки (онлайн ТЮ, скрол, таски…).
- Релогін на 401 — сесія оновлюється сама.
TODO: послідовно чи паралельно (зараз Golden — послідовно, Prime — паралельно, Chathouse — послідовно) — переглянути.
По проектах
| Аспект | Golden | Chathouse | Prime |
|---|---|---|---|
| Логін | два: rlogin (id_api+pass) + оф-апі agencyhelper (login+pass) | POST /tru/login (email+pass+auth_code) | POST /platform/auth/login (email+pass+referral_code) |
| Носій сесії | 2× JSESSIONID | Bearer JWT | кукі |
| Сокет | Red5 (param1=id_api, param5=loginTokenChat) | Centrifuge, broadcasting-токен, канал api#<ulid> | Centrifuge /rtm, tld-token, канали broadcast/online/personal |
| Де крутиться | кукі самі + WebRTC-камера | headless (axios + Centrifuge) | headless (axios + Centrifuge) |
Дані / стан
Найважливіше, що тримаємо (як у коді)
- Сесія TU — Golden
{ 2× JSESSIONID }· Chathouse{ Bearer JWT }· Prime{ cookie }- Сокет по TU — конект + ключі (
id_api/loginTokenChat· broadcasting-токен ·tld-token)
| Дані | Де | Оновлення |
|---|---|---|
| Сесія TU (токен / кукі) | пам’ять (клієнт) | логін; релогін на 401 |
| Сокет по TU | пам’ять | конект після логіну; авто-реконект |
| auth_code (Chathouse) | сервер → клієнт | виданий сервером; логінитись саме ним (атрибуція) |
| Власність TU (один оператор на TU) | наш сервер | гард при логіні (у Prime явний) |
Нюанси
- Golden — дві API-сесії:
rloginдля chat API таagencyhelperдля official API. Кожна має власнуJSESSIONID; Red5 socket використовуєloginTokenChatізrlogin. - Chathouse — логін виданим сервером
auth_code, інакше ламається атрибуція статистики. - Prime — гард «один оператор на TU».
- Сесії Chathouse/Prime зараз серверні; перенос у клієнт (модель Golden) — Server Coupling (реле сесії → повністю клієнт).
Зв’язки
- Перед: Логін оператора.
- Далі: онлайн ТЮ, скрол, таски — стартують по залогіненій TU.
- Server Coupling — що прив’язане до серверу при переносі.