承接 sheavescapital/laravel-notifications-twilio-verify 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sheavescapital/laravel-notifications-twilio-verify

Composer 安装命令:

composer require sheavescapital/laravel-notifications-twilio-verify

包简介

Twilio Verify integration with Laravel

README 文档

README

This package is a opinionated fork of codebar-ag/laravel-twilio-verify, mixed with some code from laravel-notification-channels/twilio.

💡 What is Twilio Verify?

An elegant third-party integration to validate users with SMS, Voice, Email and Push. Add verification to any step of your user‘s journey with a single API.

🛠 Requirements

  • PHP: ^8.2
  • Laravel: ^11
  • Twilio Account

⚙️ Installation

You can install the package via composer:

composer require sheavescapital/laravel-notifications-twilio-verify

Add the following environment variables to your .env file:

TWILIO_ACCOUNT_SID=ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_SERVICE_SID=VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

🏗 Usage

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use SheavesCapital\TwilioVerify\TwilioVerifyChannel;

class SendOTP extends Notification {
    public function via(object $notifiable): string {
        return TwilioVerifyChannel::class;
    }
}

🔢 Verification Code Limits

🏋️ DTO showcase

SheavesCapital\TwilioVerify\DTO\SendCodeAttempt {
  +time: Illuminate\Support\Carbon                      // Carbon
  +channel: "sms"                                       // string
  +attempt_sid: "VLMn1NOnmIVWMITO4FbVGxNmEMJ72KKaB2"    // string
}
SheavesCapital\TwilioVerify\DTO\Lookup {
  +carrier: SheavesCapital\TwilioVerify\DTO\Carrier {
    +error_code: null           // ?string
    +name: "Carrier Name"       // string
    +mobile_country_code: "310" // string
    +mobile_network_code: "150" // string
    +type: "150"                // string
  }
}
SheavesCapital\TwilioVerify\DTO\Verification
  +sid: "VEkEJNNkLugY4hietPDbcqUUZz3G5NoTTZ"            // string
  +service_sid: "VAssMsB84NdN0aJJceYsExX1223qAmrubx"    // string
  +account_sid: "ACizUsoInA3dbKR5LA9tOqqA0O3NFSHSNc"    // string
  +to: "+41795555825"                                   // string
  +channel: "sms"                                       // string
  +status: "pending"                                    // string
  +valid: false                                         // bool
  +created_at: Illuminate\Support\Carbon                // Carbon
  +updated_at: Illuminate\Support\Carbon                // Carbon
  +lookup: SheavesCapital\TwilioVerify\DTO\Lookup {...}      // Lookup
  +send_code_attempts: Illuminate\Support\Collection {  // Collection
      0 => SheavesCapital\TwilioVerify\DTO\SendCodeAttempt {
        +time: Illuminate\Support\Carbon                    // Carbon
        +channel: "sms"                                     // string
        +attempt_sid: "VLTvj9jhh76cI78Hc1x0c3UORWJwwqVeTN"  // string
      }
    ]
  }
  +url: "https://verify.twilio.com/v2/Services/VAssMsB84NdN0aJJceYsExX1223qAmrubx/Verifications" // string
}
SheavesCapital\TwilioVerify\DTO\VerificationCheck {
  +sid: "VEvRzh4hPUqmAjeC6li092VNT0yfd23lag"            // string
  +service_sid: "VAxSR0Wq91djjG9PAYtrtjt11f0I4lqdwa"    // string
  +account_sid: "ACcI5zbEYvLr0vPIUTQzWkTpP5DPqTCYDK"    // string
  +to: "+41795555825"                                   // string
  +channel: "sms"                                       // string
  +status: "approved"                                   // string
  +valid: true                                          // bool
  +created_at: Illuminate\Support\Carbon                // Carbon
  +updated_at: Illuminate\Support\Carbon                // Carbon
}

🔧 Configuration file

You can publish the config file with:

php artisan vendor:publish --provider="SheavesCapital\TwilioVerify\TwilioVerifyServiceProvider" --tag="laravel-notifications-twilio-verify-config"

This is the contents of the published config file:

return [

    /*
    |--------------------------------------------------------------------------
    | Twilio Verify Configuration
    |--------------------------------------------------------------------------
    |
    | You can find your Account SID and Auth Token in the Console Dashboard.
    | Additionally you should create a new Verify service and paste it in
    | here. Afterwards you are ready to communicate with Twilio Verify.
    |
    */

    'url' => env('TWILIO_URL', 'https://verify.twilio.com/v2/Services'),
    'account_sid' => env('TWILIO_ACCOUNT_SID', 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),
    'auth_token' => env('TWILIO_AUTH_TOKEN', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),
    'service_sid' => env('TWILIO_SERVICE_SID', 'VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'),

];

✨ Events

Following events are fired:

use SheavesCapital\TwilioVerify\Events\TwilioVerifyResponseLog;

// Log each response from the Twilio REST API.
TwilioVerifyResponseLog::class => [
    //
],

🚧 Testing

Copy your own phpunit.xml-file.

cp phpunit.xml.dist phpunit.xml

Modify environment variables in the phpunit.xml-file:

<env name="TWILIO_ACCOUNT_SID" value="ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>
<env name="TWILIO_AUTH_TOKEN" value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>
<env name="TWILIO_SERVICE_SID" value="VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>

Run the tests:

composer test

🙏 Credits

License

The MIT License (MIT). Please see License File for more information.

sheavescapital/laravel-notifications-twilio-verify 适用场景与选型建议

sheavescapital/laravel-notifications-twilio-verify 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10.58k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 12 月 05 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「laravel-notifications」 「twilio-verify」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 sheavescapital/laravel-notifications-twilio-verify 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 sheavescapital/laravel-notifications-twilio-verify 我们能提供哪些服务?
定制开发 / 二次开发

基于 sheavescapital/laravel-notifications-twilio-verify 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 10.58k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 17
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-12-05