New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

awes-io/auth

Laravel Authentication package with built-in two-factor (Authy) and social authentication (Socialite).
26,731 38
Install
composer require awes-io/auth
Latest Version:v1.2.0
Laravel:5 · 6
License:MIT
Last Updated:Oct 10, 2019
Links: GitHub  ·  Packagist
Maintainer: Yevhen L.

Awes.io logo

Authentication

Laravel Authentication package with built-in two-factor (Authy) and social authentication (Socialite).

Coverage report Last version Build status Downloads License CDN Ready laravel Last commit Analytics Hosted by Package Kit Patreon

Laravel Authentication

Table of Contents

Installation

Via Composer

$ composer require awes-io/auth

The package will automatically register itself.

You can publish migrations:

php artisan vendor:publish --provider="AwesIO\Auth\AuthServiceProvider" --tag="migrations"

After migrations have been published you can create required db tables by running:

php artisan migrate

Publish views:

php artisan vendor:publish --provider="AwesIO\Auth\AuthServiceProvider" --tag="views"

Configuration

Publish config file:

php artisan vendor:publish --provider="AwesIO\Auth\AuthServiceProvider" --tag="config"

You can disable additional features by commenting them out:

'enabled' => [
    'social', 
    // 'two_factor',
    // 'email_verification',
],

Add new socialite services:

'services' => [
    'github' => [
        'name' => 'GitHub'
    ],
    ...
],
'github' => [
    'client_id' => env('GITHUB_CLIENT_ID'),
    ...
],

And configure redirect paths:

'redirects' => [
    'login' => '/twofactor',
    'reset_password' => '/',
    ...
],

Social and two-factor authentication

Several .env variables required if additional modules were enabled in config:

# SOCIALITE GITHUB
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_REDIRECT_URL=http://auth.test/login/github/callback

# TWO FACTOR AUTHY
AUTHY_SECRET=

If you enabled social and/or two factor authentication add respective traits to User model class:

use AwesIO\Auth\Models\Traits\HasSocialAuthentication;
use AwesIO\Auth\Models\Traits\HasTwoFactorAuthentication;

class User extends Authenticatable
{
    use HasSocialAuthentication, HasTwoFactorAuthentication;
}

Email verification & resetting passwords

To use email verification functionality and to reset passwords, add SendsEmailVerification and SendsPasswordReset traits:

use AwesIO\Auth\Models\Traits\SendsPasswordReset;
use AwesIO\Auth\Models\Traits\SendsEmailVerification;

class User extends Authenticatable
{
    use SendsEmailVerification, SendsPasswordReset;
}

Usage

Add to routes/web.php:

AwesAuth::routes();

You can disable registration:

AwesAuth::routes(['register' => false]);

Package will register several routes.

Besides default authentication routes, it will add:
  • Socialite routes
    • 'login.social'
    • 'login/{service}/callback'
  • Two factor authentication setup routes
    • 'twofactor.index'
    • 'twofactor.store'
    • 'twofactor.destroy'
    • 'twofactor.verify'
  • Two factor authentication login routes
    • 'login.twofactor.index'
    • 'login.twofactor.verify'
  • Email verification routes
    • 'verification.resend'
    • 'verification.code.verify'
    • 'verification.code'
    • 'verification.verify'

Testing

You can run the tests with:

composer test

Contributing

Please see contributing.md for details and a todolist.

Credits

License

MIT

Related Packages

nocksapp/google2fa

A One Time Password Authentication package, compatible with Google Authenticator...

4,927 0
jennifer/steein-oauth2-laravel

Steein OAuth2 Provider for Laravel Socialite

8 0
steeinpassport/steein-laravel-oauth

Steein OAuth2 Provider for Laravel Socialite

7 0
srmklive/authy

Plugin for enabling two-factor authentication in Laravel applications

41,330 67

Version History

Version Released Laravel License
v1.2.0 ~5|~6 MIT
v1.1.14 ~5 MIT
v1.1.13 ~5 MIT
v1.1.12 ~5 GPL-3.0-only
v1.1.11 ~5 GPL-3.0-only