Падключэнні (OAuth2 для кожнага карыстальніка)
Падключэнні — гэта тое, як асобны карыстальнік дае AiHummer доступ да іншапартыйнага сэрвісу ад свайго ўласнага імя. Замест адзінага агульнага сэрвіснага акаўнта кожны чалавек выконвае стандартны OAuth2 authorization-code flow, атрыманы токен запячатваецца ў зашыфраваным сховішчы, і ў момант ходу рантайм вырашае токен менавіта гэтага карыстальніка, калі ён патрэбны інструменту.
Гэта “асабістая” палова мадэлі ўліковых даных AiHummer. Для шырэйшай карціны — калі лепш аддаць перавагу агульным уліковым даным і як працуе адкат — глядзіце Асабістыя супраць агульных уліковых даных.
Што такое Падключэнне
Падключэнне звязвае разам тры рэчы: правайдара (OAuth2-дадатак, супраць якога вы аўтарызуецеся), карыстальніка (чалавека, які завяршыў экран згоды) і запіс у сховішчы (дзе захоўваецца выдадзены токен). Пасля ўсталявання любы інструмент, які дзейнічае ад імя гэтага карыстальніка, можа празрыста выкарыстоўваць токен, прычым ён ніколі не з’яўляецца ў кантэксце мадэлі, у логах ці ў промпце.
Падключэннямі кіруюць праз admin UI. Спіс паказвае падключаных правайдараў кожнага карыстальніка, іх статус і калі яны апошні раз абнаўляліся.
Authorization-code flow
Падключэнне ствараецца з кананічным трохногім OAuth2 authorization-code grant:
- Карыстальнік пачынае падключэнне для правайдара з admin UI.
- AiHummer перанакіроўвае браўзер на канчатковую кропку аўтарызацыі правайдара з запытанымі ахопамі (scopes).
- Карыстальнік ухваляе экран згоды; правайдар перанакіроўвае назад з аднаразовым authorization code.
- AiHummer абменьвае гэты код на access token (а калі правайдар гэта падтрымлівае, і на refresh token) на канчатковай кропцы токена правайдара.
- Токен запісваецца ў сховішча, і Падключэнне пазначаецца як актыўнае.
Уласная канчатковая кропка токена платформы:
POST /v1/oauth/token
Яна выконвае серверны абмен кода на токен, так што client secret і выдадзены токен ніколі не пакідаюць шлюз.
[!NOTE] Authorization-code flow заўсёды ўключае рэальны крок згоды ў браўзеры. Падключэнне нельга стварыць безгаловым (head-less) толькі з API-ключа — дзеючы карыстальнік павінен аднойчы ўхваліць ахопы.
Дзе жыве токен
Выдадзены токен захоўваецца ў зашыфраваным сховішчы ўліковых даных AiHummer, а не ў адкрытай канфігурацыі. Сховішча выкарыстоўвае envelope encryption (AES-256-GCM з ключом даных для кожнага арандатара пад майстар-ключом), і сакрэты ніколі не капіруюцца ў кантэкст мадэлі, промпты ці логі. Адкліканае ці пратэрмінаванае Падключэнне проста не пакідае за сабой прыдатнага сакрэту.
consent ─▶ code ─▶ POST /v1/oauth/token ─▶ access/refresh token ─▶ vault (encrypted)
Вырашаецца па дзеючым карыстальніку
Вызначальная ўласцівасць Падключэння ў тым, што яно вырашаецца па дзеючым карыстальніку. Калі агент запускае інструмент, якому патрэбны правайдар, рантайм шукае Падключэнне, якое належыць карыстальніку, ад імя якога выконваецца ход, і выкарыстоўвае яго токен. Двое супрацоўнікаў, якія размаўляюць з адным агентам, такім чынам дзейнічаюць са сваімі ўласнымі аўтарызацыямі і бачаць толькі тое, што дазваляе іх уласны грант.
Менавіта гэта робіць Падключэнні прыдатнымі для асабістых інтэграцый кожнага карыстальніка: доступ кожнага чалавека ізаляваны, прыдатны для аўдыту і індывідуальна адкліканы.
Даступныя інтэграцыі
Праз OAuth2 flow карыстальнік можа падключыць свой уласны акаўнт да любога з пастаўляных сэрвісаў. Гэтыя асабістыя інтэграцыі даступныя з каробкі:
| Група | Сэрвісы |
|---|---|
| Gmail, Google Calendar, Google Contacts, Google Tasks, Google Drive, YouTube | |
| Microsoft | Outlook Mail, Outlook Calendar, OneDrive, Microsoft To Do |
| Прадукцыйнасць | Todoist, Asana, Jira Cloud, ClickUp, GitLab |
| Здароўе і стыль жыцця | Fitbit, Oura Ring, Spotify, Samsung SmartThings |
Кожная з іх падключаецца праз той жа authorization-code flow: карыстальнік завяршае экран згоды правайдара, токен запячатваецца ў сховішчы, і ён вырашаецца для гэтага карыстальніка кожны раз, калі інструмент звяртаецца да сэрвісу.
Кіраванне падключэннямі ў admin UI
З admin UI аператар можа:
- Бачыць, якіх правайдараў падключыў кожны карыстальнік, і стан здароўя кожнага токена.
- Пачаць новае падключэнне (запускаючы flow згоды для абранага правайдара).
- Адклікаць падключэнне, што выдаляе запіс у сховішчы і адключае вырашэнне.
Падключэнні бываюць персанальнымі (належаць канкрэтнаму карыстальніку; ён сам можа іх адключыць) і агульнымі для працоўнай прасторы (пазначаны тэгам «Workspace shared»; персанальна іх адключыць нельга). Да аднаго правайдара можна прывязаць некалькі акаўнтаў: кнопка «+ акаўнт» запытвае подпіс (label) і захоўвае яшчэ адзін уліковы запіс таго ж правайдара — напрыклад, некалькі календароў Google або паштовых скрынь.
Паколькі ўласныя ўліковыя даныя асабістыя, Падключэнне часцей за ўсё з’яўляецца правільным інструментам, калі дзеянне павінна быць прыпісана пэўнай чалавечай аўтарызацыі і абмежавана ёй, а не акаўнтам узроўню працоўнай прасторы.
Куды далей
- Асабістыя супраць агульных уліковых даных — поўная мадэль ахопу і калі выбіраць кожны.
- BYOK LLM-правайдары — прынясіце ўласныя ключы мадэляў для кожнага арандатара.
- Агляд маркетплейса і ўзроўні — дзе ўпісваюцца інтэграцыі на аснове OAuth.