All Projects → jeremykenedy → Laravel2step

jeremykenedy / Laravel2step

Licence: mit
Laravel 2-Step verification is a package to add 2-Step user authentication to any Laravel project easily. It is configurable and customizable. It uses notifications to send the user an email with a 4-digit verification code. Laravel 2-Step Authentication Verification for Laravel. Can be used in out the box with Laravel's authentication scaffolding or integrated into other projects.

Projects that are alternatives of or similar to Laravel2step

Gini
A fast SAT solver
Stars: ✭ 112 (-36%)
Mutual labels:  verification
Immudb
immudb - world’s fastest immutable database, built on a zero trust model
Stars: ✭ 3,743 (+2038.86%)
Mutual labels:  verification
Email Verifier
✅ A Go library for email verification without sending any emails.
Stars: ✭ 162 (-7.43%)
Mutual labels:  verification
Sbv
SMT Based Verification in Haskell. Express properties about Haskell programs and automatically prove them using SMT solvers.
Stars: ✭ 125 (-28.57%)
Mutual labels:  verification
Logic
CMake, SystemVerilog and SystemC utilities for creating, building and testing RTL projects for FPGAs and ASICs.
Stars: ✭ 149 (-14.86%)
Mutual labels:  verification
Vscode Tlaplus
TLA+ language support for Visual Studio Code
Stars: ✭ 152 (-13.14%)
Mutual labels:  verification
React Native Code Verification
❤️ Simple UI for pincode verification
Stars: ✭ 109 (-37.71%)
Mutual labels:  verification
Fstar
A Proof-oriented Programming Language
Stars: ✭ 2,171 (+1140.57%)
Mutual labels:  verification
Hyperkernel
Stars: ✭ 152 (-13.14%)
Mutual labels:  verification
Sv Benchmarks
Collection of Verification Tasks
Stars: ✭ 158 (-9.71%)
Mutual labels:  verification
Cogent
Cogent Project
Stars: ✭ 137 (-21.71%)
Mutual labels:  verification
Osvvm
OSVVM Utility Library: AlertLogPkg, CoveragePkg, RandomPkg, ScoreboardGenericPkg, MemoryPkg, TbUtilPkg, TranscriptPkg, ...
Stars: ✭ 140 (-20%)
Mutual labels:  verification
Coqhammer
CoqHammer: An Automated Reasoning Hammer Tool for Coq - Proof Automation for Dependent Type Theory
Stars: ✭ 157 (-10.29%)
Mutual labels:  verification
Siepic ebeam pdk
SiEPIC EBeam PDK & Library, for SiEPIC-Tools and KLayout
Stars: ✭ 121 (-30.86%)
Mutual labels:  verification
Lean
Homepage Theorem Proving in Lean FAQ
Stars: ✭ 2,006 (+1046.29%)
Mutual labels:  verification
Esverify
ECMAScript verification with SMT solvers
Stars: ✭ 109 (-37.71%)
Mutual labels:  verification
Express Mongodb Rest Api Boilerplate
A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).
Stars: ✭ 153 (-12.57%)
Mutual labels:  verification
Antiddos System
🛡️⚔️ Protect your web app from DDOS attack or the Dead Ping + CAPTCHA VERIFICATION in one line!
Stars: ✭ 173 (-1.14%)
Mutual labels:  verification
Software Quality Wiki
Software Quality Wiki
Stars: ✭ 1,991 (+1037.71%)
Mutual labels:  verification
Flutter pinput
🔥🚀 Flutter package to create Pin code input text field with every pixel customization possibility 🎨 with beautiful animations
Stars: ✭ 157 (-10.29%)
Mutual labels:  verification

Laravel 2 Step Verification

Laravel 2 Step Verification

Laravel 2-Step Verification is a package to add 2-Step user authentication to any Laravel project easily. It is configurable and customizable. It uses notifications to send the user an email with a 4-digit verification code. Can be used in out the box with Laravel's authentication scaffolding or integrated into other projects.

Travis-CI Build Latest Stable Version Total Downloads StyleCI Build Status Scrutinizer Code Quality Code Intelligence Status MadeWithLaravel.com shield License: MIT

Table of contents:

Features

Laravel 2 Step Verification Features
Uses Notification Class to send user code to users email
Can publish customizable views and assets
Lots of configuration options
Uses Language localization files
Verificaton Page
Locked Page

Requirements

Installation Instructions

  1. From your projects root folder in terminal run:

    Laravel 6+ use:

        composer require jeremykenedy/laravel2step
    

    Laravel 5.8 use:

        composer require jeremykenedy/laravel2step:v1.4.0
    

    Laravel 5.7 and below use:

        composer require jeremykenedy/laravel2step:v1.0.2
    
  2. Register the package

  • Laravel 5.5 and up Uses package auto discovery feature, no need to edit the config/app.php file.

  • Laravel 5.4 and below Register the package with laravel in config/app.php under providers with the following:

    'providers' => [
        jeremykenedy\laravel2step\laravel2stepServiceProvider::class,
    ];
  1. Publish the packages views, config file, assets, and language files by running the following from your projects root folder:
    php artisan vendor:publish --tag=laravel2step
  1. Optionally Update your .env file and associated settings (see Environment File section)

  2. Run the migration to add the verifications codes table:

    php artisan migrate
  • Note: If you want to specify a different table or connection make sure you update your .env file with the needed configuration variables.
  1. Make sure your apps email is configured - this is usually done by configuring the Laravel out the box settings in the .env file.

Configuration

Laravel 2-Step Verification can be configured in directly in /config/laravel2step.php or in the variables in your .env file.

Environment File

Here are the .env file variables available:

LARAVEL_2STEP_ENABLED=true
LARAVEL_2STEP_DATABASE_CONNECTION=mysql
LARAVEL_2STEP_DATABASE_TABLE=laravel2step
LARAVEL_2STEP_USER_MODEL=App\User
LARAVEL_2STEP_EMAIL_FROM="[email protected]"
LARAVEL_2STEP_EMAIL_FROM_NAME="Laravel 2 Step Verification"
LARAVEL_2STEP_EMAIL_SUBJECT='Laravel 2 Step Verification'
LARAVEL_2STEP_EXCEEDED_COUNT=3
LARAVEL_2STEP_EXCEEDED_COUNTDOWN_MINUTES=1440
LARAVEL_2STEP_VERIFIED_LIFETIME_MINUTES=360
LARAVEL_2STEP_RESET_BUFFER_IN_SECONDS=300
LARAVEL_2STEP_CSS_FILE="css/laravel2step/app.css"
LARAVEL_2STEP_APP_CSS_ENABLED=false
LARAVEL_2STEP_APP_CSS="css/app.css"
LARAVEL_2STEP_BOOTSTRAP_CSS_CDN_ENABLED=true
LARAVEL_2STEP_BOOTSTRAP_CSS_CDN="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"

Usage

Laravel 2-Step Verification is enabled via middleware. You can enable 2-Step Verification in your routes and controllers via the following middleware:

twostep

Example to start recording page views using middlware in web.php:

Route::group(['middleware' => ['twostep']], function () {
    Route::get('/home', '[email protected]')->name('home');
});

Routes

  • /verification/needed
  • /verification/verify
  • /verification/resend

Screenshots

Verification Page Resent Email Modal Lock Warning Modal Locked Page Verification Email

File Tree

└── laravel2step
    ├── .gitignore
    ├── LICENSE
    ├── README.md
    ├── composer.json
    └── src
        ├── .env.example
        ├── Laravel2stepServiceProvider.php
        ├── app
        │   ├── Http
        │   │   ├── Controllers
        │   │   │   └── TwoStepController.php
        │   │   └── Middleware
        │   │       └── Laravel2step.php
        │   ├── Models
        │   │   └── TwoStepAuth.php
        │   ├── Notifications
        │   │   └── SendVerificationCodeEmail.php
        │   └── Traits
        │       └── Laravel2StepTrait.php
        ├── config
        │   └── laravel2step.php
        ├── database
        │   └── migrations
        │       └── 2017_12_09_070937_create_two_step_auth_table.php
        ├── public
        │   └── css
        │       ├── app.css
        │       └── app.min.css
        ├── resources
        │   ├── assets
        │   │   └── scss
        │   │       ├── _animations.scss
        │   │       ├── _mixins.scss
        │   │       ├── _modals.scss
        │   │       ├── _variables.scss
        │   │       ├── _verification.scss
        │   │       └── app.scss
        │   ├── lang
        │   │   └── en
        │   │       └── laravel-verification.php
        │   └── views
        │       ├── layouts
        │       │   └── app.blade.php
        │       ├── partials
        │       ├── scripts
        │       │   └── input-parsing-auto-stepper.blade.php
        │       └── twostep
        │           ├── exceeded.blade.php
        │           └── verification.blade.php
        └── routes
            └── web.php

  • Tree command can be installed using brew: brew install tree
  • File tree generated using command tree -a -I '.git|node_modules|vendor|storage|tests

Future

  • Unit Tests
  • Travis-CI Integration.
  • Its own HTML email template.
  • Add in additional notifications for SMS or ???.
  • Add in capture IP Address.
  • Change to incremental tables and logic accordingly
    • Create Artisan command and job to prune said entries.

Opening an Issue

Before opening an issue there are a couple of considerations:

  • You are all awesome!
  • Read the instructions and make sure all steps were followed correctly.
  • Check that the issue is not specific to your development environment setup.
  • Provide duplication steps.
  • Attempt to look into the issue, and if you have a solution, make a pull request.
  • Show that you have made an attempt to look into the issue.
  • Check to see if the issue you are reporting is a duplicate of a previous reported issue.
  • Following these instructions show me that you have tried.
  • If you have a questions send me an email to [email protected]
  • Need some help, I can do my best on Slack: https://opensourcehelpgroup.slack.com
  • Please be considerate that this is an open source project that I provide to the community for FREE when openeing an issue.

Open source projects are a the community’s responsibility to use, contribute, and debug.

License

Laravel 2-Step Verification is licensed under the MIT license. Enjoy!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].