codybuell / laravault-auth by codybuell

Package for authenticating Laravel against Hashicorp's Vault.
1
0
3
Package Data
Maintainer Username: codybuell
Maintainer Contact: cody@codybuell.com (codybuell)
Package Create Date: 2017-08-16
Package Last Update: 2017-08-18
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:06:47
Package Statistics
Total Downloads: 1
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 3
Total Forks: 1
Total Open Issues: 0

Laravault-Auth

Laravel package for using Hashicorp's Vault as an Authentication Provider. Authenticates users against an instance of Vault, stores user information in the session, and handles closing of the laravel session when the vault ttl expires. Built and tested with Laravel 5.4.

Installation

  1. Install the LaravaultAuth package manually or with composer:

    • Composer

      composer require codybuell/laravault-auth
      
    • Manually

      git clone https://github.com/codybuell/laravault-auth.git vendor/codybuell/laravault-auth
      
      # edit composer.json, under autoload -> psr-4 append:
      
      "CodyBuell\\LaravaultAuth\\": "vendor/codybuell/laravault-auth/src"
      
  2. Add provider to config/app.php providers array:

     CodyBuell\LaravaultAuth\LaravaultAuthServiceProvider::class,
    
  3. Publish config and configure config/laravault-auth.php:

     php artisan vendor:publish
    
  4. Set 'vault' as your auth provider in config/auth.php:

     'providers' => [
         'users' => [
             'driver' => 'vault',
         ],
     ]
    
  5. Set auth to use username rather than email. In app/Http/Controllers/Auth/LoginController.php add:

     /**
      * Use usernames instead of emails.
      */
     public function username() {
       return 'username';
     }
    

Usage

Accessing Vault Client Token

Accessing User Attributes

Todo

  • write tests
  • add option to not tie laravel session length to vault ttl