ikechukwukalu/requirepin

一个用于在处理指定路由请求之前进行pin确认和验证的laravel包

v2.0.2 2024-06-18 11:11 UTC

README

Latest Version on Packagist Quality Score Code Quality Known Vulnerabilities Github Workflow Status Total Downloads GitHub Repo stars GitHub issues GitHub forks Licence

一个简单的Laravel包,它提供了一个中间件,该中间件将要求用户通过他们的pin进行身份验证来确认路由。

要求

  • PHP 7.3+
  • Laravel 8+

安装步骤

composer require ikechukwukalu/requirepin
  • php artisan vendor:publish --tag=rp-migrations
  • php artisan migrate
  • 在您的.env文件中设置REDIS_CLIENT=predisQUEUE_CONNECTION=redis
  • php artisan queue:work

路由

API路由

  • POST api/change/pin
  • POST api/pin/required/{uuid}

Web路由

  • POST change/pin
  • POST pin/required/{uuid}
  • GET change/pin
  • GET pin/required/{uuid?}

注意

  • 要接收JSON响应,请将'Accept': 'application/json'添加到您的头部。

工作原理

  • 首先,就像吃糖果一样。
  • 应该将require.pin中间件添加到路由或路由组中。
  • 此中间件将拦截所有传入的请求。
  • 为用户生成一个临时URL(pin/required/{uuid}),以便使用指定的输入config(requirepin.input)通过他们的pin进行认证。
  • 它要么返回一个包含生成URL的JSON响应,要么重定向到一个页面,在该页面上用户需要通过在一个将提交POST请求到生成URL的表单中输入他们的pin来验证请求。
  • 在blade中显示返回的有效载荷
@if (session('return_payload'))
    @php
        [$status, $status_code, $data] = json_decode(session('return_payload'), true);
    @endphp
    <div class="alert alert-{!! $status === 'fail' ? 'danger' : 'success' !!} m-5 text-center">
        {!! $data['message'] !!}
    </div>
@endif

保留键值用于有效载荷

  • _uuid
  • _pin
  • expires
  • signature
  • return_payload
  • pin_validation

发布配置

  • php artisan vendor:publish --tag=rp-config

发布语言

  • php artisan vendor:publish --tag=rp-lang

发布视图

  • php artisan vendor:publish --tag=rp-views

许可证

RP包是一个开源软件,许可协议为MIT许可证