--- title: Разделить вход между вкладками description: Объявите BrowserLogin и используйте одну BrowserSession в одном контексте браузера. sources: - eazy_sdk_browser api_fingerprint: "sha256:14265759c1e44b971e88726cdf78005b3dc2f750ac179c28c4abe11432d6dd35" --- `BrowserLogin` описывает способ входа и признаки живой сессии. Учётные данные и состояние принадлежат `BrowserSession`, которую получают через `login.session(...)`. Сервис входа работает на странице того же клиента и возвращает состояние контекста: ```{literalinclude} ../../../../../../examples/mail/browser/session.py :language: python :start-after: "# region docs: browser-session-login" :end-before: "# endregion docs: browser-session-login" ``` Один объект сессии можно передать нескольким вкладкам одного контекста: ```{literalinclude} ../../../../../../examples/docs/integration_browser_login.py :language: python :start-after: "# docs:integration-browser-login:start" :end-before: "# docs:integration-browser-login:end" ``` :::{dropdown} Файл целиком ```{literalinclude} ../../../../../../examples/docs/integration_browser_login.py :language: python ``` ::: ```text browser logins: 1 tabs in context: 2 session cookie: session-ada ``` Первый вызов берёт блокировку сессии и входит. Параллельный вызов ждёт ту же ревизию, поэтому две вкладки выполняют один вход. Объект сессии нельзя переносить в другой контекст; новый контекст получает новый объект и общее хранилище ревизий. | Объект | Владеет | |---|---| | `BrowserLogin` | сервисом входа, обязательными cookies и типами истечения | | `BrowserSession` | учётными данными, блокировкой, хранилищем и ревизией контекста | | `AsyncBrowserClient` | выполнением операций одной страницы | Если отказ входит в `expired=`, клиент обновляет сессию и повторяет операцию в пределах `auth_retries`. HTTP-клиенту та же сессия отдаётся целиком: `Identity(cookies=CookieState(state.cookies))` для SDK, объявившего `Cookies(...)`. ## Дальше - {doc}`Разобрать сессию по шагам ` - {doc}`Связать браузер и HTTP ` - {doc}`Подключить вкладку из пула `