Xavfsizlik
ProID OAuth 2.0 (authorization_code) asosida ishlaydi. Xavfsiz integratsiya uchun quyidagilarga amal qiling.
client_secret ni himoya qiling
client_secretva token almashinuvi faqat backend’da bo’lsin.- Uni frontend JS, mobil ilova bundle yoki public repozitoriyaga hech qachon joylashtirmang.
- Muhit o’zgaruvchisi (
.env) da saqlang, kodda hardcode qilmang.
redirect_uri ni qat’iy belgilang
- ProID
redirect_urini authorize va token bosqichida solishtiradi — mos kelmasa rad etadi. - Ro’yxatdan aniq, to’liq manzil o’tkazing (wildcards yo’q).
- Open-redirect’dan saqlaning: callback endpoint’ingiz
codedan boshqa hech narsani ishonchli deb qabul qilmasin.
Authorization code
- Bir martalik va qisqa muddatli (~10 daqiqa) — olgan zahoti almashtiring.
codeni URL/loglarda uzoq saqlamang.- Token muvaffaqiyatli olingach
codeyaroqsiz bo’ladi.
Access token’ni saqlash
- Token’ni server tomon sessiyada yoki
HttpOnly+Securecookie’da saqlang. localStorageda saqlashdan qoching (XSS xatari).expires_in(~10 kun) tugagach qayta autentifikatsiya qiling.
Transport
- Barcha so’rovlar HTTPS orqali.
- Token so’rovi
application/x-www-form-urlencodedbilan.
Rate limit va qayta urinish
- Endpointlar cheklangan (qarang: Rate limit).
429da darhol qayta urinmang —Retry-Afterni kuting (exponential backoff).
Tekshiruv ro’yxati (checklist)
-
client_secretfaqat backend’da,.envda -
redirect_urihamma joyda aynan bir xil - Token almashinuvi server tomonda
- Token
HttpOnly/Securecookie yoki server sessiyada - Hamma so’rov HTTPS
-
429/5xxuchun backoff bilan retry