SAML Single Sign-On (SSO) For Laravel Using ADFS As IDP

SAML Single Sign-On (SSO) For Laravel Using ADFS As IDP


Laravel SAML Single Sign-On (SSO) plugin gives the ability to enable SAML Single Sign-On for your laravel applications. Using Single Sign-On you can use only one password to access your laravel application and services. Our plugin is compatible with all the SAML compliant Identity providers. Here we will go through a step-by-step guide to configure Single Sign-On (SSO) between Laravel and ADFS Apps considering ADFS Apps as IdP.

Pre-requisites : Download And Installation

  • Open a Command Prompt window and change the working directory to your Laravel app's main directory.
  • Enter the below command.
    composer require miniorange/saml-laravel-free
  • Laravel Single Sign On SSO enter commond
  • Note: If you are using Laravel 5.4 or below, you will need to add the following value to the 'providers' array in your app.php file which can be found in the project\config folder :provider\ssoServiceProvider::class (You can check your current Laravel version by using the command php artisan --version.)

  • Laravel Single Sign On SSO add following value
  • After successful installation of package, go to your Laravel app in the browser and enter https://<your-host>/mo_admin in the address bar.
  • The package will start setting up your database for you and then redirect you to the admin registration page.
  • Register or log in with your account by clicking the Register button to configure the plugin.
  • Laravel Single Sign On SSO plugin settings
  • After login, you will see the Service Provider Settings option, where you will get the service provider metadata. Keep the metadata handy as it will be required later to configure step 1.
  • Laravel Single Sign On SSO Service Provider Settings

Steps to configure ADFS Apps Single Sign-On (SSO) Login into Laravel

1. Configure ADFS Apps as Identity Provider

miniorange img Configure ADFS as IdP
  • On ADFS, search for ADFS Management application.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - Admin_Dashboard
  • In AD FS Management, select Relying Party Trust and click on Add Relying Party Trust.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - Add Relying Party Trust
  • Select Claims aware from the Relying Party Trust Wizard and click on Start button.
  •  Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - Claims Aware
miniorange img Select Data Source
  • In Select Data Source, select the data source for adding a relying party trust.
  • Navigate to Service Provider Metadataoption in the laravel SAML plugin to get the endpoints to configure Service Provider manually.
  • In Add Relying Party Trust Wizard select option Enter data about the relying party manually and click on Next.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - SAML 2.0 Wizard_Metadata manual
miniorange img Specify Display Name
  • Enter Display Name and Click Next.

  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - SAML 2.0 Wizard_Metadata manual
miniorange img Configure Certificate (Premium feature)
  • Download the certificate from Service Provider Metadata Tab.
  • Upload the certificate and click on Next.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - SAML 2.0 Wizard_Metadata manual
miniorange img Configure URL
  • Select Enable support for the SAML 2.0 WebSSO protocol option and enter ACS URLfrom the plugin's Service Provider Metadata Tab.
  • Click on Next.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - for the SAML 2.0 Wizard_Enable SAML
miniorange img Configure Identifiers
  • In the Relying party trust identifier, add the SP-EntityID / Issuer from the plugin's Service Provider Metadata tab.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - SAML 2.0 Wizard_URL
miniorange img Choose Access Control Policy
  • Select Permit everyone as an Access Control Policy and click on Next.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - for SAML 2.0 Wizard Multi-Factor
miniorange img Ready to Add Trust
  • In Ready to Add Trust click on Next and then Close.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - SAML 2.0 Wizard Edit Claim
miniorange img Edit Claim Issuance Policy
  • In the list of Relying Party Trust, select the application you created and click on Edit Claim Issuance Policy.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - SAML 2.0 Wizard Edit Claim
  • In Issuance Transform Rule tab click on Add Rule button.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - for SAML 2.0 Wizard Claim Rule
miniorange img Choose Rule Type
  • Select Send LDAP Attributes as Claims and click on Next.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - for SAML 2.0 Configure_LDAP Attributes
miniorange img Configure Claim Rule
  • Add a Claim Rule Name and select the Attribute Store as required from the dropdown.
  • Under Mapping of LDAP Attributes to outgoing claim types, Select LDAP Attribute as E-Mail-Addresses and Outgoing Claim Type as Name ID.
  • Configure ADFS as IDP -SAML Single Sign-On(SSO) for laravel - ADFS SSO Login - for the SAML 2.0 Add Transform Claim Rule
  • Once you have configured the attributes, click on Finish.
  • After configuring ADFS as IDP, you will need the Federation Metadata to configure your Service Provider.
  • To get the ADFS Federation Metadata, you can use this URL
    https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml
  • You have successfully configured ADFS as SAML IdP (Identity Provider) for achieving ADFS Single Sign-On (SSO) Login

2. Configure Laravel SAML plugin as Service Provider

  • Go to the miniOrange Laravel SAML 2.0 SSO plugin and click on Choose File button next to the Upload Meatadata option.
  • Select the metadata file which you will get from ADFS and click on Upload button.
  • Laravel Single Sign On SSO Identity Provider Settings
  • Click on Test Configuration button to test whether the SAML Configuration you've done is correct. On successful test configuration, you will get the different user attributes returned by your identity Provider in a test configuration table.
  • Laravel Single Sign On SSO Test Configuration Laravel Single Sign On SSO Test Result

3. SSO Options

  • Your users can initiate the Single Sign On flow by clicking on the Single Sign On button generated on your login page. If you do not have this page yet, run php artisan make:auth & php artisan migrate to generate the authentication module.

  • Laravel Single Sign On SSO Single Sign On button

In this Guide, you have successfully configured ADFS Apps SAML Single Sign-On (ADFS Apps SSO Login) choosing ADFS Apps as IdP and Laravel as SP using miniOrange plugin-SAML Single Sign On – SSO Login. This solution ensures that you are ready to roll out secure access to your Laravel site using ADFS Apps login credentials within minutes.

Additional Resources

Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com