• Stars
    star
    227
  • Rank 170,005 (Top 4 %)
  • Language
    PHP
  • License
    MIT License
  • Created about 1 year ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A laravel package for pin confirmation and validation before processing requests to a specified route

REQUIRE PIN

Latest Version on Packagist Quality Score Code Quality Known Vulnerabilities Github Workflow Status Total Downloads Licence

A simple Laravel package that provides a middleware which will require users to confirm routes utilizing their pin for authentication.

REQUIREMENTS

  • PHP 8.0+
  • Laravel 9+

STEPS TO INSTALL

composer require ikechukwukalu/requirepin
  • php artisan vendor:publish --tag=rp-migrations
  • php artisan migrate
  • Set REDIS_CLIENT=predis and QUEUE_CONNECTION=redis within your .env file.
  • php artisan queue:work

ROUTES

Api routes

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

Web routes

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

NOTE

  • To receive json response add 'Accept': 'application/json' to your headers.

HOW IT WORKS

  • First, it's like eating candy.
  • The require.pin middlware should be added to a route or route group.
  • This middleware will arrest all incoming requests.
  • A temporary URL (pin/required/{uuid}) is generated for a user to authenticate with the specified input config(requirepin.input) using their pin.
  • It either returns a JSON response with the generated URL or it redirects to a page where a user is required to authenticate the request by entering their pin into a form that will send a POST request to the generated URL when submitted.

Reserved keys for payload

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

PUBLISH CONFIG

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

PUBLISH LANG

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

PUBLISH VIEWS

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

LICENSE

The RP package is an open-sourced software licensed under the MIT license.