vyatka-it/laravel-flash-call-auth
Composer 安装命令:
composer require vyatka-it/laravel-flash-call-auth
包简介
Laravel package for receiving authorization codes via flash call providers VoicePassword and SMS.RU.
README 文档
README
Пакет vyatka-it/laravel-flash-call-auth отправляет коды авторизации через flash call-провайдеров VoicePassword и SMS.RU.
Установка
composer require vyatka-it/laravel-flash-call-auth
php artisan vendor:publish --tag=flash-call-auth-config
Настройка
FLASH_CALL_AUTH_PROVIDER=sms_ru
FLASH_CALL_AUTH_API_KEY=your_api_key
SMS_RU_PARTNER_ID=
VOICEPASSWORD_AUTH_MODE=header
VOICEPASSWORD_CAPACITY=4
FLASH_CALL_AUTH_COOLDOWN_SECONDS=60
Использование
use VyatkaIt\FlashCallAuth\Facades\FlashCallAuth;
$result = FlashCallAuth::send(
phone: '79255070602',
ip: request()->ip(),
);
echo $result->code;
echo $result->id;
Повторную отправку можно ограничить cooldown-настройкой. По умолчанию она выключена (0 секунд). Ограничение работает через Laravel RateLimiter и использует cache store приложения.
FLASH_CALL_AUTH_COOLDOWN_SECONDS=60
FLASH_CALL_AUTH_COOLDOWN_KEY_PREFIX=flash_call_auth:cooldown
Если пользователь запросит звонок повторно раньше времени, пакет выбросит CooldownException:
use VyatkaIt\FlashCallAuth\Exceptions\CooldownException;
try {
$result = FlashCallAuth::send('79999999999', request()->ip());
} catch (CooldownException $exception) {
$retryAfter = $exception->retryAfter;
}
Выбор провайдера на один вызов:
$result = FlashCallAuth::send('79999999999', options: [
'provider' => 'voicepassword',
]);
VoicePassword с кодом, сгенерированным на вашей стороне:
$result = FlashCallAuth::send('79999999999', options: [
'provider' => 'voicepassword',
'code' => '1234',
]);
VoicePassword с проговариванием кода:
$result = FlashCallAuth::send('79999999999', options: [
'provider' => 'voicepassword',
'mode' => 'voice',
'code' => '1234',
'repeat' => 1,
]);
VoicePassword callback URL:
$result = FlashCallAuth::send('79999999999', options: [
'provider' => 'voicepassword',
'callback_url' => route('flash-call.callback'),
]);
Статистика VoicePassword:
$balance = FlashCallAuth::voicePassword()->balance();
$status = FlashCallAuth::voicePassword()->status('1234');
$daily = FlashCallAuth::voicePassword()->daily('21.05.2026');
Ответ
Метод send() возвращает AuthorizationCodeResultDTO:
$result->provider; // sms_ru или voicepassword
$result->id; // call_id/id запроса
$result->phone; // номер абонента
$result->code; // код авторизации, если провайдер вернул его сразу
$result->cost; // стоимость, если провайдер вернул ее сразу
$result->raw; // исходный JSON-ответ
Тесты
composer test
Документация провайдеров
统计信息
- 总下载量: 73
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-22