Ulanishlar (foydalanuvchi bo‘yicha OAuth2)
Ulanishlar bu individual foydalanuvchi AiHummerga uchinchi tomon xizmatiga o’z nomidan kirish huquqini qanday beradi. Bitta umumiy xizmat hisobidan ko’ra, har bir kishi standart hisobni ishlatadi OAuth2 avtorizatsiya-kodi oqimi, natijaviy token shifrlangan seyfda muhrlanadi, va navbat vaqti kelganda, vosita unga muhtoj bo’lganda, ish vaqti shu foydalanuvchining tokenini hal qiladi.
Bu AiHummerning credential modelining “shaxsiy” yarmidir. Kengroq tasavvur uchun — qachon umumiy credentialni afzal ko‘rish kerak va fallback qanday ishlaydi — qarang Shaxsiy va umumiy ma’lumotlar.
Ulanish nima
Ulanish uch narsani birlashtiradi: a ta’minlovchi (siz ruxsat berayotgan OAuth2 ilovasi), a foydalanuvchi (rozilik ekranini to‘ldirgan shaxs), va seif kirish (chiqarilgan token saqlanadigan joy). Bir marta o‘rnatilgach, o‘sha foydalanuvchi nomidan harakat qiladigan har qanday vosita tokenni hech qachon model kontekstida, jurnallarda yoki promptda ko‘rinmasdan shaffof tarzda ishlatishi mumkin.
Ulanganliklar ma’muriy interfeys orqali boshqariladi. Ro’yxat har bir foydalanuvchining ulangan provayderlarini, ularning holatini va oxirgi yangilangan vaqtini ko’rsatadi.
Avtorizatsiya-kod oqimi
Kanonik uch oyoqli OAuth2 avtorizatsiya-kodi grantlari bilan ulanish yaratiladi:
- Foydalanuvchi admin UI orqali provayder uchun ulanishni boshlaydi — a
POST/GET /v1/admin/connections/oauth/startso‘rov. - AiHummer brauzerni provayderning saytiga yo’naltiradi avtorizatsiya oxir nuqta so’ralgan doiralar bilan.
- Foydalanuvchi rozilik ekranini tasdiqlaydi; provayder qaytib yo’naltiradi
bir martalik avtorizatsiya kodi uchun
/v1/admin/connections/oauth/callback. - Callback handler ichida, AiHummer o‘sha kodni server tomonida almashtiradi kirish tokeni (va, ta’minlovchi bunga qo’llab-quvvatlaganda, a yangilash tokeni) ta’minlovchining token tugunida.
- Token xazinaga yoziladi va Ulash faol deb belgilanadi.
Kod-uchun-token almashinuvi callback ichida server tomonida amalga oshiriladi, shuning uchun mijoz siri va berilgan token hech qachon gateway’dan chiqmaydi.
[!NOTE] Buni oqim bilan adashtirmang
POST /v1/oauth/token: bu AiHummerning egallamoq OAuth2 mijoz-credentials endpoint — xizmat hisoblari orqali ro‘yxatdan o‘tgan/v1/admin/apikeys/register-clientularning almashinuviclient_id/client_secretqisqa muddatli uchunah-token. Bu uchinchi tomon bilan hech qanday aloqasi yo‘q Aloqalar.
[!NOTE] Avtorizatsiya-kod oqimi har doim haqiqiy brauzer roziligi bosqichini o’z ichiga oladi. A Faqat API kalitidan foydalangan holda boshiqsiz ulanish yaratilishi mumkin emas — amaldagi foydalanuvchi doiralarni bir marotaba tasdiqlashi kerak.
Token qayerda yashaydi
Berilgan token AiHummer’da saqlanadi shifrlangan credential ombori, oddiy konfiguratsiyada emas. Xazina konvert qopqog‘i shifrlashni (asosiy kalit ostida har bir ijarachiga oid ma’lumot kaliti bilan AES-256-GCM) ishlatadi va maxfiy ma’lumotlar hech qachon model konteksti, so‘rovlar yoki loglarga nusxalanmaydi. Bekor qilingan yoki amal qilish muddati tugagan Ulanish shunchaki foydalanish mumkin bo‘lgan sirni qoldirmaydi.
oauth/start ─▶ consent ─▶ code ─▶ oauth/callback (exchange at the provider) ─▶ access/refresh token ─▶ vault (encrypted)
Ijrochi foydalanuvchi tomonidan hal qilindi
Ulanishning aniqlovchi xususiyati shundaki, u harakat qilayotgan foydalanuvchi tomonidan hal qilindi. Agent provayderni talab qiladigan vositani ishga tushirganda, vaqtinchalik bajarish foydalanuvchi nomiga tegishli Bo‘g‘lanishni qidiradi va ularning tokenidan foydalanadi. Shu sababli, bir xil agent bilan gaplashayotgan ikki xodim o‘z ruxsatnomalari bilan harakat qiladi va faqat o‘z grantlari ularga imkon beradigan narsani ko‘radi.
Bu Connectionsni shaxsiy, foydalanuvchi uchun moʻljallangan integratsiyalar uchun mos qiladigan narsa shundaki: har bir kishining kirishi izolyatsiyalangan, audit qilinadigan va alohida bekor qilinishi mumkin.
Mavjud integratsiyalar
OAuth2 jarayoni orqali foydalanuvchi o‘z shaxsiy hisobini har qanday yuk xizmatiga ulashi mumkin. Ushbu shaxsiy integratsiyalar standart tarzda mavjud:
| Guruh | Xizmatlar |
|---|---|
| Gmail, Google Calendar, Google Contacts, Google Tasks, Google Drive, YouTube | |
| Microsoft | Outlook Pochta, Outlook Kalendar, OneDrive, Microsoft To Do |
| Ish samaradorligi | Todoist, Asana, Jira Cloud, ClickUp, GitLab, Linear, monday.com |
| Sog‘liq va turmush tarzi | Fitbit, Oura Ring, Strava, Spotify, Samsung SmartThings |
Har biri bir xil avtorizatsiya-kod oqimi bilan ulanadi: foydalanuvchi provayderning rozilik ekranini to‘ldiradi, token qutida saqlanadi va har safar vosita xizmatga murojaat qilganda shu foydalanuvchi uchun ishlaydi.
Admin UI da ulanishlarni boshqarish
Admin UI orqali operator quyidagilarni qilishi mumkin:
- Har bir foydalanuvchi qaysi provayderlarga ulanganini va har bir tokenning holatini ko’ring.
- Yangi ulanishni boshlash (tanlangan provayder uchun rozilik jarayonini ishga tushirish).
- Aloqani bekor qiling, bu ombor yozuvini olib tashlaydi va yechimni o‘chiradi.
Aloqalar yoki shaxsiy (ma’lum bir foydalanuvchiga tegishli, va u ularni uzib qo’yishi mumkin) yoki ish maydoni bilan ulashildi (belgilangan “Ish maydoni ulashilgan”; ular shaxsiy ravishda uzib bo‘lmaydi). Bir provayder ushlab turishi mumkin bir nechta hisoblar“: “ + account” tugmasi yorliq va xuddi shu provayderning boshqa ma’lumotini so’raydi — masalan, bir nechta Google taqvimlari yoki pochta qutilari.
Chunki asosiy autentifikatsiya ma’lumotlari shaxsiy bo’lgani uchun, bir harakatni butun ish maydoni hisobidan emas, balki ma’lum bir insonning ruxsati bilan bog’lash va cheklash kerak bo’lganda, Connection odatda eng to‘g‘ri vositadir.
Keyingi qayerga
- Shaxsiy va umumiy ma’lumotlar — to‘liq doira modeli va qachon har birini tanlash.
- BYOK LLM provayderlari — o’zingizning model kalitlaringizni olib keling har bir ijarachi.
- Bozorning umumiy ko‘rinishi va darajalari — qayerda OAuth asosidagi integratsiyalar mos keladi.