Download the PHP package codegreencreative/laravel-samlidp without Composer

On this page you can find all versions of the php package codegreencreative/laravel-samlidp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-samlidp

Latest Version on Packagist Total Downloads

Buy me a coffee :coffee:

Laravel SAML IdP

This package allows you to implement your own Identification Provider (idP) using the SAML 2.0 standard to be used with supporting SAML 2.0 Service Providers (SP).

In this version we will be allowing for Laravel ^7.0 or ^8.0.

If you are looking for Laravel ^5.6 see v1.0

If you are looking for Laravel ^6.0 use v2.0

Installation

Configuration

FileSystem configuration

Use the following command to create a self signed certificate for your IdP. If you change the certname or keyname to anything other than the default names, you will need to update your config/samlidp.php config file to reflect those new file names.

Optionally, you can set the certificate and key using two environment variables: SAMLIDP_CERT and SAMLIDP_KEY.

Usage

Within your login view, probably resources/views/auth/login.blade.php add the SAMLRequest directive beneath the CSRF directive:

The SAMLRequest directive will fill out the hidden input automatically when a SAMLRequest is sent by an HTTP request and therefore initiate a SAML authentication attempt. To initiate the SAML auth, the login and redirect processes need to be intervened. This is done using the Laravel events fired upon authentication.

Config

After you publish the config file, you will need to set up your Service Providers. The key for the Service Provider is a base 64 encoded Consumer Service (ACS) URL. You can get this information from your Service Provider, but you will need to base 64 encode the URL and place it in your config. This is due to config dot notation.

You may use this command to help generate a new SAML Service Provider:

Example SP in config/samlidp.php file:

Setting the service provider certificate

There are three options to set the service provider certificate.

  1. Provide the certificate as a string:

  2. Load from a variable within the .env file. You can choose an appropriate variable name that best matches your projects requirements.

  3. Load the certificate from a file:

Log out of IdP after SLO

If you wish to log out of the IdP after SLO has completed, set LOGOUT_AFTER_SLO to true in your .env perform the logout action on the Idp.

Redirect to SLO initiator after logout

If you wish to return the user back to the SP by which SLO was initiated, you may provide an additional query parameter to the /saml/logout route, for example:

After all SP's have been logged out of, the user will be redirected to mysp.com. For this to work properly you need to add the sp_slo_redirects option to your config/samlidp.php config file, for example:

Attributes (optional)

Service providers may require more additional attributes to be sent via assertion. Its even possible that they require the same information but as a different Claim Type.

By Default this package will send the following Claim Types:

ClaimTypes::EMAIL_ADDRESS as auth()->user()->email ClaimTypes::GIVEN_NAME as auth()->user()->name

This is because Laravel migrations, by default, only supply email and name fields that are usable by SAML 2.0.

To add additional Claim Types, you can subscribe to the Assertion event:

CodeGreenCreative\SamlIdp\Events\Assertion

Subscribing to the Event:

In your App\Providers\EventServiceProvider class, add to the already existing $listen property...

Sample Listener:

Digest Algorithm (optional)

See \RobRichards\XMLSecLibs\XMLSecurityDSig for all digest options.

Buy me a coffee :coffee:


All versions of laravel-samlidp with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2.5|^8.0
illuminate/support Version ^7.0|^8.0|^9.0|^10.0|^11.0
illuminate/routing Version ^7.0|^8.0|^9.0|^10.0|^11.0
litesaml/lightsaml Version ^4.0
ext-zlib Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package codegreencreative/laravel-samlidp contains the following files

Loading the files please wait ....