sms_ru_call
Flutter SDK для авторизации по звонку через SMS.RU API code/call.
Сервис совершает исходящий звонок на номер пользователя и возвращает 4 цифры, на которые заканчивается номер звонящего. Пользователь вводит эти цифры в приложении.
Безопасность
Ключ api_id не должен попадать в мобильное приложение. В production используйте CallVerificationController с sendDelegate (например, Firebase callable startPhoneCallVerification).
Класс SmsRuClient предназначен для серверной среды или локальной отладки.
Использование в приложении
import 'package:sms_ru_call/sms_ru_call.dart';
final controller = CallVerificationController(
sendDelegate: (phone) async {
final result = await firebaseFunctions
.httpsCallable('startPhoneCallVerification')
.call({'phoneNumber': phone, 'clientIp': '-1'});
return CallSendResponse(
requestId: result.data['requestId'],
code: result.data['code'],
);
},
);
await controller.startVerification('+79001234567');
if (controller.verifyCode('1435')) {
// код совпал
}
Сервер (Node.js)
См. pes_discount/functions/src/mobile/smsru.ts — переменная окружения SMSRU_API_ID.
Тесты
flutter test
Libraries
- sms_ru_call
- Flutter SDK для SMS.RU — авторизация по звонку.