Ulanish oqimi (Flow B)
Bu oqim sizning mahsulotingizda boshlanadi — o'z interfeysingizdagi "Bito'ga ulanish" tugmasidan. Siz mijozni Bito kirish sahifasiga yuborasiz, Bito uni autentifikatsiya qiladi va avtorizatsiya kodi bilan sizga qaytaradi.
Sizning ilova Mijoz brauzeri Bito
| | |
| 1. id.bito.uz/oauth/auth | |
| ga yo'naltirish | |
|--------------------------->| |
| | 2. kirish |
| | (telefon + parol) |
| |----------------------->|
| | |
| | 3. akkaunt tanlash |
| | va tasdiqlash |
| |----------------------->|
| | | kod, 20 daqiqa
| | 4. qaytarish |
| | ?code=X&state=Y |
| |<-----------------------|
| callback?code=X&state=Y | |
|<---------------------------| |
| |
| 5. POST /auth/oauth/token |
|---------------------------------------------------->|
| { access_token, refresh_token, expires_in } |
|<----------------------------------------------------|1. Mijozni Bito'ga yuboring
https://id.bito.uz/oauth/auth
?response_type=code
&client_id=<client_id>
&redirect_uri=<url-encoded callback>
&scope=<scopes>
&state=<tasodifiy CSRF satri>Misol
https://id.bito.uz/oauth/auth?response_type=code&client_id=69c50a2d50f7b939923a469b&redirect_uri=https%3A%2F%2Fexample-app.com%2Fcallback&scope=admin&state=xcoiv98y2kd22vusuye3kch| Parametr | Majburiy | Tavsif |
|---|---|---|
response_type | Ha | Doim code |
client_id | Ha | Sizning OAuth client id |
redirect_uri | Ha | URL-kodlangan qaytish manzili. Integratsiyangizda ro'yxatdan o'tgan redirect_uri'ni yuboring. |
scope | Ha | So'ralayotgan huquqlar: admin, read, write, delete |
state | Qat'iy tavsiya etiladi | Tasodifiy qiymat. Bito uni o'zgarishsiz qaytaradi — qaytishda solishtiring, bu CSRF'dan himoya. |
/oauth/auth — avtorizatsiya sahifasining asosiy manzili. Mijoz hali kirmagan bo'lsa, Bito uni shu parametrlar bilan kirish sahifasiga o'tkazadi va kirgandan keyin avtorizatsiyani davom ettiradi.
2. Mijoz autentifikatsiyadan o'tadi
Bu ekran to'liq Bito'ga tegishli. Mijoz telefon raqami va parolini kiritadi, bir nechta akkaunti bo'lsa, kerakligini tanlaydi va so'ralgan huquqlarni tasdiqlaydi.
Tanlangan akkauntda mijoz egasi yoki qo'shimcha egasi bo'lishi kerak — oddiy xodim ulay olmaydi. Akkauntning boshlang'ich sozlamasi (onboarding) ham yakunlangan bo'lishi shart, aks holda kodni tokenga almashtirish rad etiladi.
INFO
Siz kirish formasini yozmaysiz va mijozning parolini hech qachon ko'rmaysiz.
3. Bito kod bilan qaytaradi
https://example-app.com/callback?code=abc123def456&state=xcoiv98y2kd22vusuye3kch| Parametr | Tavsif |
|---|---|
code | Avtorizatsiya kodi. Bir martalik, 20 daqiqa yashaydi. |
state | 1-qadamda yuborgan qiymatingiz. Mos kelmasa, so'rovni rad eting. |
4. Kodni tokenga almashtiring
So'rov Flow A bilan bir xil: Tokenlar bilan ishlash → Avtorizatsiya kodini almashtirish.
WARNING
Almashtirish faqat serverda bajariladi. client_secret mijoz brauzeriga tushmasligi kerak.