tu-login

Логін ТЮ

Логін кожної анкети (TU) на сайт проекту + сокет по TU. На відміну від логіну оператора — механіка своя в кожного сайту: різні креденшели, різний носій сесії, різні ключі сокета. Стартує після того, як логін оператора пройшов перевірки й дав список анкет.

Логіка

  1. Беремо AVAILABLE-анкети зі списку (з логіну оператора).
  2. По кожній — логін на сайт проекту (механіка нижче).
  3. Піднімаємо сокет по TU.
  4. TU залогінена → по ній стартують основні логіки (онлайн ТЮ, скрол, таски…).
  5. Релогін на 401 — сесія оновлюється сама.

TODO: послідовно чи паралельно (зараз Golden — послідовно, Prime — паралельно, Chathouse — послідовно) — переглянути.

По проектах

АспектGoldenChathousePrime
Логіндва: rlogin (id_api+pass) + оф-апі agencyhelper (login+pass)POST /tru/login (email+pass+auth_code)POST /platform/auth/login (email+pass+referral_code)
Носій сесії2× JSESSIONIDBearer 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 — що прив’язане до серверу при переносі.