[{"data":1,"prerenderedAt":708},["ShallowReactive",2],{"docs-navigation":3,"docs-page:\u002Fdocs\u002Fguide\u002Fservices\u002Fauth-service":293,"docs-surround:\u002Fdocs\u002Fguide\u002Fservices\u002Fauth-service":703},[4],{"title":5,"path":6,"stem":7,"children":8,"page":33},"Docs","\u002Fdocs","docs",[9,182,274],{"title":10,"icon":11,"path":12,"stem":13,"children":14},"Документация","i-lucide-book-open","\u002Fdocs\u002Fguide","docs\u002F1.guide\u002Findex",[15,17,34,65,121,131,152],{"title":16,"path":12,"stem":13},"Обзор",{"title":18,"icon":19,"path":20,"stem":21,"children":22,"page":33},"Основы","i-lucide-compass","\u002Fdocs\u002Fguide\u002Fbasics","docs\u002F1.guide\u002F1.basics",[23,28],{"title":24,"path":25,"stem":26,"order":27},"Основные понятия и модель","\u002Fdocs\u002Fguide\u002Fbasics\u002Fconcepts","docs\u002F1.guide\u002F1.basics\u002F1.concepts",2,{"title":29,"path":30,"stem":31,"order":32},"Быстрый старт","\u002Fdocs\u002Fguide\u002Fbasics\u002Fgetting-started","docs\u002F1.guide\u002F1.basics\u002F2.getting-started",3,false,{"title":35,"icon":36,"path":37,"stem":38,"children":39,"page":33},"Установка и обслуживание","i-lucide-server-cog","\u002Fdocs\u002Fguide\u002Foperations","docs\u002F1.guide\u002F2.operations",[40,45,50,55,60],{"title":41,"path":42,"stem":43,"order":44},"Архитектура","\u002Fdocs\u002Fguide\u002Foperations\u002Farchitecture","docs\u002F1.guide\u002F2.operations\u002F1.architecture",6,{"title":46,"path":47,"stem":48,"order":49},"Развёртывание и эксплуатация","\u002Fdocs\u002Fguide\u002Foperations\u002Fdeployment","docs\u002F1.guide\u002F2.operations\u002F2.deployment",7,{"title":51,"path":52,"stem":53,"order":54},"Безопасность и контроль данных","\u002Fdocs\u002Fguide\u002Foperations\u002Fsecurity","docs\u002F1.guide\u002F2.operations\u002F3.security",8,{"title":56,"path":57,"stem":58,"order":59},"Наблюдаемость и разбор инцидентов","\u002Fdocs\u002Fguide\u002Foperations\u002Fobservability","docs\u002F1.guide\u002F2.operations\u002F4.observability",9,{"title":61,"path":62,"stem":63,"order":64},"Администрирование","\u002Fdocs\u002Fguide\u002Foperations\u002Fadministration","docs\u002F1.guide\u002F2.operations\u002F5.administration",10,{"title":66,"icon":67,"path":68,"stem":69,"children":70},"Сервисы","i-lucide-boxes","\u002Fdocs\u002Fguide\u002Fservices","docs\u002F1.guide\u002F3.services\u002Findex",[71,73,77,81,85,89,93,97,101,105,109,113,117],{"title":72,"path":68,"stem":69},"Каталог сервисов",{"title":74,"path":75,"stem":76},"api","\u002Fdocs\u002Fguide\u002Fservices\u002Fapi","docs\u002F1.guide\u002F3.services\u002F01.api",{"title":78,"path":79,"stem":80},"auth-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fauth-service","docs\u002F1.guide\u002F3.services\u002F02.auth-service",{"title":82,"path":83,"stem":84},"runtime-engine","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-engine","docs\u002F1.guide\u002F3.services\u002F03.runtime-engine",{"title":86,"path":87,"stem":88},"runtime-control-plane","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-control-plane","docs\u002F1.guide\u002F3.services\u002F04.runtime-control-plane",{"title":90,"path":91,"stem":92},"executor","\u002Fdocs\u002Fguide\u002Fservices\u002Fexecutor","docs\u002F1.guide\u002F3.services\u002F05.executor",{"title":94,"path":95,"stem":96},"secret-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fsecret-manager","docs\u002F1.guide\u002F3.services\u002F06.secret-manager",{"title":98,"path":99,"stem":100},"plugin-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fplugin-manager","docs\u002F1.guide\u002F3.services\u002F07.plugin-manager",{"title":102,"path":103,"stem":104},"scheduler","\u002Fdocs\u002Fguide\u002Fservices\u002Fscheduler","docs\u002F1.guide\u002F3.services\u002F08.scheduler",{"title":106,"path":107,"stem":108},"preset-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fpreset-service","docs\u002F1.guide\u002F3.services\u002F09.preset-service",{"title":110,"path":111,"stem":112},"file-service","\u002Fdocs\u002Fguide\u002Fservices\u002Ffile-service","docs\u002F1.guide\u002F3.services\u002F10.file-service",{"title":114,"path":115,"stem":116},"flow-agent","\u002Fdocs\u002Fguide\u002Fservices\u002Fflow-agent","docs\u002F1.guide\u002F3.services\u002F11.flow-agent",{"title":118,"path":119,"stem":120},"search-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fsearch-service","docs\u002F1.guide\u002F3.services\u002F12.search-service",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":33},"Справочник","i-lucide-list","\u002Fdocs\u002Fguide\u002Freference","docs\u002F1.guide\u002F4.reference",[127],{"title":128,"path":129,"stem":130},"Конфигурация, CLI и коды ошибок","\u002Fdocs\u002Fguide\u002Freference\u002Fconfig","docs\u002F1.guide\u002F4.reference\u002F1.config",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":33},"О продукте","i-lucide-target","\u002Fdocs\u002Fguide\u002Fproduct","docs\u002F1.guide\u002F5.product",[137,142,147],{"title":138,"path":139,"stem":140,"order":141},"Оценка и выбор","\u002Fdocs\u002Fguide\u002Fproduct\u002Fevaluation","docs\u002F1.guide\u002F5.product\u002F1.evaluation",13,{"title":143,"path":144,"stem":145,"order":146},"О проекте и поддержка","\u002Fdocs\u002Fguide\u002Fproduct\u002Fabout","docs\u002F1.guide\u002F5.product\u002F2.about",14,{"title":148,"path":149,"stem":150,"order":151},"Roadmap","\u002Fdocs\u002Fguide\u002Fproduct\u002Froadmap","docs\u002F1.guide\u002F5.product\u002F3.roadmap",15,{"title":153,"icon":154,"path":155,"stem":156,"children":157,"page":33},"Cookbook","i-lucide-chef-hat","\u002Fdocs\u002Fguide\u002Fcookbook","docs\u002F1.guide\u002F6.cookbook",[158,162,166,170,174,178],{"title":159,"path":160,"stem":161},"Развернуть Conveyor","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fdeploy","docs\u002F1.guide\u002F6.cookbook\u002F1.deploy",{"title":163,"path":164,"stem":165},"Создать рабочее пространство","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-workspace","docs\u002F1.guide\u002F6.cookbook\u002F2.create-workspace",{"title":167,"path":168,"stem":169},"Создать процесс","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-process","docs\u002F1.guide\u002F6.cookbook\u002F3.create-process",{"title":171,"path":172,"stem":173},"Управление плагинами","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fmanage-plugins","docs\u002F1.guide\u002F6.cookbook\u002F4.manage-plugins",{"title":175,"path":176,"stem":177},"Процесс как MCP","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fpublish-process-mcp","docs\u002F1.guide\u002F6.cookbook\u002F5.publish-process-mcp",{"title":179,"path":180,"stem":181},"Сгенерировать процесс генераатором","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fflow-generator","docs\u002F1.guide\u002F6.cookbook\u002F6.flow-generator",{"title":183,"icon":184,"path":185,"stem":186,"children":187},"Работа с Conveyor","i-lucide-workflow","\u002Fdocs\u002Fusage","docs\u002F2.usage\u002Findex",[188,189,193,197,201,266,270],{"title":183,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Регистрация и аутентификация","\u002Fdocs\u002Fusage\u002Fauth","docs\u002F2.usage\u002F1.auth",{"title":194,"path":195,"stem":196},"Возможности и ограничения","\u002Fdocs\u002Fusage\u002Fcapabilities","docs\u002F2.usage\u002F2.capabilities",{"title":198,"path":199,"stem":200},"Концепция распределённого исполнения","\u002Fdocs\u002Fusage\u002Fdistributed-execution","docs\u002F2.usage\u002F3.distributed-execution",{"title":202,"icon":203,"path":204,"stem":205,"children":206},"Интерфейс редактора","i-lucide-layout-dashboard","\u002Fdocs\u002Fusage\u002Feditor","docs\u002F2.usage\u002F4.editor\u002Findex",[207,208,212,230,234,238,242,246,250,254,258,262],{"title":202,"path":204,"stem":205},{"title":209,"path":210,"stem":211},"Настройки интерфейса","\u002Fdocs\u002Fusage\u002Feditor\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F01.settings",{"title":213,"icon":184,"path":214,"stem":215,"children":216},"Процессы","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002Findex",[217,218,222,226],{"title":213,"path":214,"stem":215},{"title":219,"path":220,"stem":221},"Настройки","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F1.settings",{"title":223,"path":224,"stem":225},"История Запусков и логи","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fhistory-logs","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F2.history-logs",{"title":227,"path":228,"stem":229},"Сохранение, запуск и отладка","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsave-run-debug","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F3.save-run-debug",{"title":231,"path":232,"stem":233},"Библиотека","\u002Fdocs\u002Fusage\u002Feditor\u002Flibrary","docs\u002F2.usage\u002F4.editor\u002F03.library",{"title":235,"path":236,"stem":237},"Воркспейсы","\u002Fdocs\u002Fusage\u002Feditor\u002Fworkspaces","docs\u002F2.usage\u002F4.editor\u002F04.workspaces",{"title":239,"path":240,"stem":241},"Секреты","\u002Fdocs\u002Fusage\u002Feditor\u002Fsecrets","docs\u002F2.usage\u002F4.editor\u002F05.secrets",{"title":243,"path":244,"stem":245},"Плагины","\u002Fdocs\u002Fusage\u002Feditor\u002Fplugins","docs\u002F2.usage\u002F4.editor\u002F06.plugins",{"title":247,"path":248,"stem":249},"Шаблоны","\u002Fdocs\u002Fusage\u002Feditor\u002Ftemplates","docs\u002F2.usage\u002F4.editor\u002F07.templates",{"title":251,"path":252,"stem":253},"Консоль логов","\u002Fdocs\u002Fusage\u002Feditor\u002Flog-console","docs\u002F2.usage\u002F4.editor\u002F08.log-console",{"title":255,"path":256,"stem":257},"Подтверждения шагов","\u002Fdocs\u002Fusage\u002Feditor\u002Fstep-confirmations","docs\u002F2.usage\u002F4.editor\u002F09.step-confirmations",{"title":259,"path":260,"stem":261},"Внешние инструменты","\u002Fdocs\u002Fusage\u002Feditor\u002Fexternal-tools","docs\u002F2.usage\u002F4.editor\u002F10.external-tools",{"title":263,"path":264,"stem":265},"Работа с аккаунтом","\u002Fdocs\u002Fusage\u002Feditor\u002Faccount","docs\u002F2.usage\u002F4.editor\u002F11.account",{"title":267,"path":268,"stem":269},"Работа с API","\u002Fdocs\u002Fusage\u002Fapi","docs\u002F2.usage\u002F5.api",{"title":271,"path":272,"stem":273},"MCP: платформа как сервер","\u002Fdocs\u002Fusage\u002Fmcp","docs\u002F2.usage\u002F6.mcp",{"title":243,"icon":275,"path":276,"stem":277,"children":278},"i-lucide-blocks","\u002Fdocs\u002Fplugins","docs\u002F3.plugins\u002Findex",[279,281,285,289],{"title":280,"path":276,"stem":277},"Плагины и интеграции",{"title":282,"path":283,"stem":284},"Разработка плагина (SDK)","\u002Fdocs\u002Fplugins\u002Fdevelop","docs\u002F3.plugins\u002F1.develop",{"title":286,"path":287,"stem":288},"Подключение и интеграции","\u002Fdocs\u002Fplugins\u002Fconnect","docs\u002F3.plugins\u002F2.connect",{"title":290,"path":291,"stem":292},"API и MCP","\u002Fdocs\u002Fplugins\u002Fapi","docs\u002F3.plugins\u002F3.api",{"id":294,"title":78,"body":295,"description":697,"extension":698,"meta":699,"navigation":700,"path":79,"seo":701,"stem":80,"__hash__":702},"docs\u002Fdocs\u002F1.guide\u002F3.services\u002F02.auth-service.md",{"type":296,"value":297,"toc":688},"minimark",[298,310,319,324,327,331,344,348,365,369,381,385,671,675],[299,300,301,304,305,309],"p",{},[302,303,78],"strong",{}," отвечает за вход пользователей: выпускает JWT, поддерживает passkeys (WebAuthn), подтверждение email и отправку служебных писем. api проксирует на него запросы ",[306,307,308],"code",{},"\u002Fauth",".",[311,312,313],"blockquote",{},[299,314,315,318],{},[302,316,317],{},"На какие вопросы отвечает раздел:"," Как настраивается вход и passkeys? Откуда берутся письма подтверждения? Что влияет на сессии?",[320,321,323],"h2",{"id":322},"цель","Цель",[299,325,326],{},"Единая точка аутентификации и управления сессиями для редактора и API.",[320,328,330],{"id":329},"задачи","Задачи",[332,333,334,338,341],"ul",{},[335,336,337],"li",{},"логин по паролю и беспарольный вход через WebAuthn (passkeys);",[335,339,340],{},"выпуск и обновление access\u002Frefresh JWT;",[335,342,343],{},"регистрация и подтверждение email, отправка писем по SMTP.",[320,345,347],{"id":346},"требования","Требования",[332,349,350,353,362],{},[335,351,352],{},"PostgreSQL (пользователи, сессии);",[335,354,355,356,361],{},"Vault (шифрование чувствительных данных; миграция на MIT-лицензированные аналоги — ",[357,358,360],"a",{"href":359},"\u002Fdocs\u002Fguide\u002Fservices#hashicorp-vault-%D0%B8-mit-%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8","TBD в каталоге",");",[335,363,364],{},"SMTP-сервер для писем (в dev — Mailcatcher).",[320,366,368],{"id":367},"ограничения","Ограничения",[332,370,371,374],{},[335,372,373],{},"зона сервиса: аутентификация, JWT и сессии. Права\u002Fроли (CASL) и видимость разделов задаёт api по capabilities.",[335,375,376,377,380],{},"управление пользователями может быть выключено на уровне стенда (",[306,378,379],{},"USER_MANAGEMENT_ENABLED",").",[320,382,384],{"id":383},"настройки-и-переменные-окружения","Настройки и переменные окружения",[386,387,388,407],"table",{},[389,390,391],"thead",{},[392,393,394,398,401,404],"tr",{},[395,396,397],"th",{},"Переменная",[395,399,400],{},"Зачем",[395,402,403],{},"На что влияет",[395,405,406],{},"По умолчанию",[408,409,410,429,447,465,483,501,519,537,562,581,599,617,634,649],"tbody",{},[392,411,412,418,421,424],{},[413,414,415],"td",{},[306,416,417],{},"AUTH_SERVICE_HTTP_LISTEN",[413,419,420],{},"Адрес прослушивания HTTP",[413,422,423],{},"Порт\u002Fинтерфейс сервиса",[413,425,426],{},[306,427,428],{},"0.0.0.0:3000",[392,430,431,436,439,442],{},[413,432,433],{},[306,434,435],{},"JWT_ACCESS_TTL",[413,437,438],{},"Срок access-токена",[413,440,441],{},"Как часто нужен refresh",[413,443,444],{},[306,445,446],{},"15m",[392,448,449,454,457,460],{},[413,450,451],{},[306,452,453],{},"JWT_REFRESH_TTL",[413,455,456],{},"Срок refresh-токена",[413,458,459],{},"Длительность сессии",[413,461,462],{},[306,463,464],{},"7d",[392,466,467,472,475,478],{},[413,468,469],{},[306,470,471],{},"JWT_ACCESS_COOKIE_NAME",[413,473,474],{},"Имя cookie с access JWT",[413,476,477],{},"Хранение токена в браузере",[413,479,480],{},[306,481,482],{},"access_token",[392,484,485,490,493,496],{},[413,486,487],{},[306,488,489],{},"WEBAUTHN_RP_ID",[413,491,492],{},"Relying Party ID",[413,494,495],{},"Привязка passkey к домену",[413,497,498],{},[306,499,500],{},"localhost",[392,502,503,508,511,514],{},[413,504,505],{},[306,506,507],{},"WEBAUTHN_RP_NAME",[413,509,510],{},"Имя RP",[413,512,513],{},"Отображение при регистрации passkey",[413,515,516],{},[306,517,518],{},"Conveyor",[392,520,521,526,529,532],{},[413,522,523],{},[306,524,525],{},"WEBAUTHN_ORIGIN",[413,527,528],{},"Доверенный origin",[413,530,531],{},"Какой фронтенд может использовать passkey",[413,533,534],{},[306,535,536],{},"https:\u002F\u002Flocalhost:3000",[392,538,539,548,551,554],{},[413,540,541,544,545],{},[306,542,543],{},"SMTP_HOST"," \u002F ",[306,546,547],{},"SMTP_PORT",[413,549,550],{},"Адрес SMTP",[413,552,553],{},"Куда отправлять письма",[413,555,556,544,559],{},[306,557,558],{},"mailcatcher",[306,560,561],{},"1025",[392,563,564,572,575,578],{},[413,565,566,544,569],{},[306,567,568],{},"SMTP_USER",[306,570,571],{},"SMTP_PASS",[413,573,574],{},"Учётные данные SMTP",[413,576,577],{},"Авторизация на SMTP",[413,579,580],{},"—",[392,582,583,588,591,594],{},[413,584,585],{},[306,586,587],{},"SMTP_FROM",[413,589,590],{},"Адрес отправителя",[413,592,593],{},"Поле From в письмах",[413,595,596],{},[306,597,598],{},"noreply@flowforge.local",[392,600,601,606,609,612],{},[413,602,603],{},[306,604,605],{},"SMTP_SECURE",[413,607,608],{},"TLS для SMTP",[413,610,611],{},"Шифрование соединения (порт 465)",[413,613,614],{},[306,615,616],{},"false",[392,618,619,624,627,630],{},[413,620,621],{},[306,622,623],{},"EMAIL_CONFIRM_BASE_URL",[413,625,626],{},"База ссылки подтверждения",[413,628,629],{},"Куда ведёт ссылка из письма",[413,631,632],{},[306,633,536],{},[392,635,636,641,644,647],{},[413,637,638],{},[306,639,640],{},"DATABASE_URL",[413,642,643],{},"Подключение к Postgres",[413,645,646],{},"Хранение пользователей\u002Fсессий",[413,648,580],{},[392,650,651,659,662,665],{},[413,652,653,544,656],{},[306,654,655],{},"VAULT_ADDR",[306,657,658],{},"VAULT_TOKEN",[413,660,661],{},"Доступ к Vault",[413,663,664],{},"Шифрование чувствительных данных",[413,666,667,670],{},[306,668,669],{},"http:\u002F\u002Fvault:8200"," \u002F —",[320,672,674],{"id":673},"дальше","Дальше",[332,676,677,682],{},[335,678,679,681],{},[357,680,190],{"href":191},": со стороны пользователя.",[335,683,684,687],{},[357,685,686],{"href":52},"Безопасность",": модель защиты.",{"title":689,"searchDepth":27,"depth":27,"links":690},"",[691,692,693,694,695,696],{"id":322,"depth":27,"text":323},{"id":329,"depth":27,"text":330},{"id":346,"depth":27,"text":347},{"id":367,"depth":27,"text":368},{"id":383,"depth":27,"text":384},{"id":673,"depth":27,"text":674},"Аутентификация Conveyor — выпуск JWT, WebAuthn (passkeys), подтверждение email и отправка писем.","md",{},true,{"title":78,"description":697},"g8u5EQoptAzs-A_IKacMPpD87xprX6W7TNjw3SI58ww",[704,706],{"title":74,"path":75,"stem":76,"description":705,"children":-1},"REST API Conveyor — диаграммы, процессы, библиотека, секреты, SSE-уведомления и шлюз к остальным микросервисам.",{"title":82,"path":83,"stem":84,"description":707,"children":-1},"Оркестратор выполнения процессов Conveyor — продвижение графа по шагам, выбор транспорта и диспетчеризация задач.",1782081968797]