承接 laravel-notification-channels/authy 相关项目开发

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

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

laravel-notification-channels/authy

最新稳定版本:v10.1.0

Composer 安装命令:

composer require laravel-notification-channels/authy

包简介

Authy notification channel for Laravel, with the ability to send in-app, sms, and call verification tokens.

README 文档

README

Authy notification channel for Laravel, with the ability to send in-app, sms, and call verification tokens.

Packagist Scrutinizer Code Quality StyleCI Travis License

Authy Notifications

Table Of Contents

Usage

  1. Install the package via composer:

    composer require laravel-notification-channels/authy
  2. This package requires rinvex/laravel-authy package, so before proceeding make sure to follow up its installation steps first.

  3. Next, to route Authy notifications to the proper entity, define a routeNotificationForAuthy method on your notifiable entity. This should return the Authy Id to which the notification should be sent. Example:

    /**
     * Route notifications for the authy channel.
     *
     * @return int
     */
    public function routeNotificationForAuthy()
    {
        return $this->authy_id;
    }

    Note: as you might thought, this requires an authy_id attribute in your notifiable entity, for which you may need to create an additional field in the database table.

  4. Now you can create notifications that use Authy channel as follows:

    // app/Notifications/PhoneVerificationNotification.php
    
    namespace App\Notifications;
    
    use Illuminate\Notifications\Notification;
    use NotificationChannels\Authy\AuthyChannel;
    use NotificationChannels\Authy\AuthyMessage;
    
    class PhoneVerificationNotification extends Notification
    {
        /**
         * The notification method (sms/call).
         *
         * @var string
         */
        public $method;
    
        /**
         * Determine whether to force the notification over cellphone network.
         *
         * @var bool
         */
        public $force;
    
        /**
         * The notification message action.
         *
         * @var string
         */
        public $action;
    
        /**
         * The notification message action message.
         *
         * @var string
         */
        public $actionMessage;
    
        /**
         * Create a notification instance.
         *
         * @param string $method
         * @param bool   $force
         * @param string $action
         * @param string $actionMessage
         *
         * @return void
         */
        public function __construct($method = 'sms', $force = false, $action = null, $actionMessage = null)
        {
            $this->method = $method;
            $this->force = $force;
            $this->action = $action;
            $this->actionMessage = $actionMessage;
        }
    
        /**
         * Get the notification's channels.
         *
         * @param mixed $notifiable
         *
         * @return array|string
         */
        public function via($notifiable)
        {
            return [AuthyChannel::class];
        }
    
        /**
         * Build the Authy representation of the notification.
         *
         * @return \NotificationChannels\Authy\AuthyMessage
         */
        public function toAuthy()
        {
            $message = AuthyMessage::create()->method($this->method);
    
            if ($this->force) {
                $message->force();
            }
    
            if ($this->action) {
                $message->action($action);
            }
    
            if ($this->actionMessage) {
                $message->actionMessage($actionMessage);
            }
    
            return $message;
        }
    }
  5. Finally you can consume the notification as follows:

    $this->notify(new \App\Notifications\PhoneVerificationNotification('sms', true));

    Note: don't forget to read through Authy TOTP API documentation for further information.

  6. Done!

Upgrade

  • Upgrading To v2.x From v1.x

    API implementation is 100% backward compatible, but sandbox API has been dropped since it's officially deprecated. Also note that PHP7 is now required.

Changelog

Refer to the Changelog for a full history of the project.

Support

The following support channels are available at your fingertips:

Contributing & Protocols

Thank you for considering contributing to this project! The contribution guide can be found in CONTRIBUTING.md.

Bug reports, feature requests, and pull requests are very welcome.

Security Vulnerabilities

If you discover a security vulnerability within this project, please send an e-mail to security@rinvex.com. All security vulnerabilities will be promptly addressed.

About Rinvex

Rinvex is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Alexandria, Egypt since June 2016. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.

Trademarks

License

This software is released under The MIT License (MIT).

(c) 2016-2020 Rinvex LLC, Some rights reserved.

统计信息

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

GitHub 信息

  • Stars: 57
  • Watchers: 3
  • Forks: 15
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-24