Update: 2026-08-08 13:33:53
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:siro_driver/print.dart';
|
||||
import 'package:siro_driver/views/home/on_boarding_page.dart';
|
||||
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:siro_driver/controller/functions/country_logic.dart';
|
||||
import 'package:siro_driver/controller/functions/package_info.dart';
|
||||
|
||||
import '../../../constant/box_name.dart';
|
||||
import '../../../constant/links.dart';
|
||||
@@ -66,13 +67,18 @@ class PhoneAuthHelper {
|
||||
try {
|
||||
final fixedPhone = CountryLogic.formatCurrentCountryPhone(phoneNumber);
|
||||
Log.print('fixedPhone: $fixedPhone');
|
||||
final fingerPrint = box.read(BoxName.deviceFingerprint)?.toString() ??
|
||||
await DeviceHelper.getDeviceFingerprint();
|
||||
final response = await CRUD().post(
|
||||
link: _verifyOtpUrl,
|
||||
payload: {
|
||||
'phone_number': fixedPhone,
|
||||
'token_code': otpCode,
|
||||
'context': 'login',
|
||||
'user_type': 'driver'
|
||||
'user_type': 'driver',
|
||||
// البصمة تُدمج داخل التوكن الذي يصدره السيرفر، وبدونها يُرفض
|
||||
// كل طلب لاحق بـ 403 "Device verification required".
|
||||
'fingerPrint': fingerPrint,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -85,6 +91,14 @@ class PhoneAuthHelper {
|
||||
box.write(BoxName.phoneDriver, phoneNumber);
|
||||
box.write(BoxName.driverID, data['message']['driverID']);
|
||||
|
||||
// ✅ التحقق ينجح ⇒ السيرفر يصدر توكن driver كامل الصلاحيات.
|
||||
// حفظه هنا هو ما يمنع بقاء توكن التسجيل مستعملاً بعد الدخول.
|
||||
final issuedJwt = data['message']['jwt']?.toString();
|
||||
if (issuedJwt != null && issuedJwt.isNotEmpty) {
|
||||
await storage.write(key: BoxName.jwt, value: issuedJwt);
|
||||
Log.print('🔑 تم حفظ توكن driver الصادر من التحقق بالـ OTP.');
|
||||
}
|
||||
|
||||
if (isRegistered) {
|
||||
// ✅ السائق مسجل مسبقًا - سجل دخوله واذهب إلى الصفحة الرئيسية
|
||||
final driver = data['message']['driver'];
|
||||
|
||||
Reference in New Issue
Block a user