Skip to content
/ auth Public

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

License

Notifications You must be signed in to change notification settings

awes-io/auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •