Proje: Okul B2B App · Hub: Okul B2B App — Architecture
OTP login: çoklu kullanıcı seçimi
Telefon numarasına birden fazla customer_user bağlıysa, OTP kodu doğrulandıktan sonra kullanıcıya hangi hesapla giriş yapacağı sorulur.
Akış
- Kod iste:
POST /auth/otp(mevcut, değişmedi) - Kodu doğrula + adayları çek:
POST /customer/otp/users→{ data: [{customer_user, customer, user}], user_count: N }- Auth gerektirmez. Kod burada
markAsUsed:falseile doğrulanır, login’de yanar.
- Auth gerektirmez. Kod burada
- Branch:
user_count <= 1→ direktPOST /auth/login(eski akış)user_count > 1→OtpUserSelectionScreenkart liste, seçimden sonra/auth/loginçağrısınauser_ideklenir.
Bu repodaki dosyalar
services/AuthService.tsOtpUserCandidate,ResolveOtpUsersResponsetipleriOTPVerification.userId?: number(opsiyonel)resolveOtpUsers()—/customer/otp/usersçağrısıverifyOTP()—userIdvarsauser_idparametresi/auth/login’a eklenir
services/AnalyticsEvents.ts—AuthEvent.action’aotp_resolve_usersveotp_user_selecteklendicomponents/auth/OtpUserSelectionScreen.tsx— yeni ekran (firma + kullanıcı adı kart liste)components/auth/AuthFlow.tsx- Yeni step:
otp-user-selection performLogin(otp, userId?)helper’ı; OTP veya kullanıcı seçimi sonrası ortak login yoluhandleOTPVerificationönceresolveOtpUsersçağırır
- Yeni step:
Yetkilendirme uyarısı (BE notu)
2026-05-06-customer-otp-multi-user-selection notunda detaylı: resolve listesi customer_user_schools.has_content_access OR has_lead_access filtresine bakmıyor; login bakıyor. Listede görünüp seçilen kullanıcı login’de düşerse “Girilen şifre kayıtlarımızla uyuşmuyor.” hatası alınır. UX hatası — ileride API tarafında filtreyi hizalamak doğrudur.
Related
- api-endpoint-listesi — endpoint envanteri (
customer/otp/userseklendi) - analytics-mimarisi —
otp_resolve_usersveotp_user_selectevent’leri