Download the PHP package mnshankar/laravel-shib-auth without Composer
On this page you can find all versions of the php package mnshankar/laravel-shib-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mnshankar/laravel-shib-auth
More information about mnshankar/laravel-shib-auth
Files in mnshankar/laravel-shib-auth
Package laravel-shib-auth
Short Description Convert Shibboleth tokens to equivalent Laravel User Table columns so Laravel auth semantics can be used
License MIT
Informations about the package laravel-shib-auth
Shibboleth-Laravel authentication bridge
Shibboleth authentication typically results in the identity provider setting a bunch of server variables after successful authentication. This is a Laravel 5.0+/PHP 5.4+ package helps with converting those server tokens into Laravel User Table fields so that regular Laravel semantics of authentication can be followed.
Note that shib auth must already have occured - usually using directives in the .htaccess file.
The included middleware checks the user table and
- If a matching user is NOT found, it creates a new user row
- If a user is found in the users table, the corresponding user record is retrieved
- The user is then logged in to the application using Auth::login($user)
Installation
require the package via composer
Next, setup the service provider. This allows you to modify the config file (the default tokens are specific to UF implementation of Shibboleth)
In your config/app providers array, add:
You must insure that
- The mapped fields exist in your users table.
- Shibboleth sets valid values for all tokens specified (else exception is thrown)
- "password" field in the users table must be nullable as we will not be using it.
Usage
Edit your http kernel.php file to include the shib middleware from the package like so:
Now, you can use the middleware either from the controller or from your route.
-
In your controller:
-
In your route:
Using Laravel 5.0
Using Laravel 5.1+
You can continue using Laravel 5.0 style.. or use chaining:
You may also use route groups. Please look up Laravel documentation on Middleware to learn more https://laravel.com/docs/5.2/middleware
Configuration Options
You can customize the configuration options by publishing them