PHPackages                             miniorange/oauth-laravel-free - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. miniorange/oauth-laravel-free

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

miniorange/oauth-laravel-free
=============================

Laravel OAuth Single Sign On Solution. Make yourLaravel application as OAuth Client using this plugin. Laravel end users can login into Laravel application using their OAuth Provider / Server credentials.

v2.0.7(2y ago)33.9k—0%2BSD-3-ClauseCSSPHP ^5.1 || ^7.1 || ^8.0

Since Jun 15Pushed 2y ago1 watchersCompare

[ Source](https://github.com/miniOrangeDev/oauth-laravel-free)[ Packagist](https://packagist.org/packages/miniorange/oauth-laravel-free)[ RSS](/packages/miniorange-oauth-laravel-free/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (1)Versions (9)Used By (0)

What is Single Sign-On (SSO)?
=============================

[](#what-is-single-sign-on-sso)

**Single Sign-On** is an authorization and authentication process that enables an user to connect to multiple enterprise applications using a single set of credentials. Simply put, SSO combines multiple application login pages into just one, allowing you to submit credentials just once and gain access to all the applications without having to log in to each one individually. End users save time and effort by not having to sign into and out of a variety of on-premises, web and cloud applications on a regular basis.

SSO is a critical component of the Identity and Access Management or access privileges services. SSO solution perfectly implemented within an enterprise simplifies overall password management, improving productivity and security, lowering the likelihood of weak, lost, or forgotten passwords

Laravel OAuth SSO
=================

[](#laravel-oauth-sso)

Laravel OAuth Single Sign On Solution makes your Laravel application as OAuth Client using this package. Laravel end users can login into your Laravel application using their OAuth Provider / Server credentials.

We support all known OAuth Providers - Azure AD, Azure B2C, Office 365, AWS Cognito, Classlink, Discord, Clever, Ping, Keycloak, WHMCS, Okta, WSO2, Identity Server, Onelogin, Salesforce, G Suite / Google Apps, Invision Community, Slack, Amazon, Twitter, Apple, ID.me, Shell, Cisco Webex, Auth0, miniOrange etc. OAuth Single Sign on (SSO) acts as a OAuth 2.0 Client and securely authenticate users with your OAuth 2.0 Provider.

Requirements
------------

[](#requirements)

- Laravel - 7.0+
- PHP - ^5.1 || ^7.1 || ^8.0

Installation - Composer
-----------------------

[](#installation---composer)

1. Install the package via composer in your Laravel app's main directory.

```
composer require miniorange/oauth-laravel-free

```

2. After successful installation of package, go to your Laravel app in the browser and enter

    ***{laravel-application-domain}/mo\_oauth\_admin***
3. The package will start setting up your database for you and then redirect you to the admin registration page where you can register or login with miniOrange and setup your OAuth Provider.

    [![This is plugin login page](https://camo.githubusercontent.com/30465763ef86c5a733c7c3fd82e8e0d4c4c6c76dff502bc5847372c33767a8e0/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6d696e696f72616e67652d6c6f67696e2d64617368626f6172642e77656270)](https://camo.githubusercontent.com/30465763ef86c5a733c7c3fd82e8e0d4c4c6c76dff502bc5847372c33767a8e0/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6d696e696f72616e67652d6c6f67696e2d64617368626f6172642e77656270)

Configuring the package
-----------------------

[](#configuring-the-package)

1. After login, you will see the OAuth provider Settings option, where you will get the Redirect/Callback URL. Keep it handy as it will be required later to configure your OAuth Provider.

    [![This is plugin setting page](https://camo.githubusercontent.com/fe6cd03d6afdaf9a56c18e316a5172044a0e3e3944336173b25a5427fada2566/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3938333539363334343134373036323839342f313033363837323532373937383434323832342f6c61726176656c2d6f617574682d72656469726563742d75726c2e706e67)](https://camo.githubusercontent.com/fe6cd03d6afdaf9a56c18e316a5172044a0e3e3944336173b25a5427fada2566/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3938333539363334343134373036323839342f313033363837323532373937383434323832342f6c61726176656c2d6f617574682d72656469726563742d75726c2e706e67)
2. Choose an OAuth Provider from the dropdown. For e.g. WordPress

    [![This is plugin setting page](https://camo.githubusercontent.com/43e85e579b92b01dce5256f1cec6f9bc23edf1ed5a6c463923491ac224667bea/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f73656c6563742d776f726470726573732d6f617574682d70726f76696465722e77656270)](https://camo.githubusercontent.com/43e85e579b92b01dce5256f1cec6f9bc23edf1ed5a6c463923491ac224667bea/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f73656c6563742d776f726470726573732d6f617574682d70726f76696465722e77656270)
3. Use your OAuth Provider details like **Client ID** and **Client Secret** to configure the plugin. After that, you can enter the **Scope**, **Authorization Endpoint**, **Access Token Endpoint**, **GetUserinfo Endpoint**, **Realm**, **Domain**, **Tenant** (as per your OAuth Provider or use the default ones provided already). You can send the client credentials in header or body and also send state parameter accordingly.

    [![This is plugin setting page](https://camo.githubusercontent.com/cc46a7b0f9e1bb0dc54be4b96b10ede0ef7034b8de98a03f9eff16ab8a8deb96/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d706c7567696e2d636c69656e742d63726564656e7461696c732e77656270)](https://camo.githubusercontent.com/cc46a7b0f9e1bb0dc54be4b96b10ede0ef7034b8de98a03f9eff16ab8a8deb96/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d706c7567696e2d636c69656e742d63726564656e7461696c732e77656270)

    [![This is plugin setting page](https://camo.githubusercontent.com/ee518c0f7fdb22e509026d57d207982b8ac64663e6fe4611f40bc36695a1a4df/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d617574686f72697a6174696f6e2d656e706f696e742d736176652d73657474696e672e77656270)](https://camo.githubusercontent.com/ee518c0f7fdb22e509026d57d207982b8ac64663e6fe4611f40bc36695a1a4df/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d617574686f72697a6174696f6e2d656e706f696e742d736176652d73657474696e672e77656270)
4. Click on Save Settings button.

Test Configuration
------------------

[](#test-configuration)

1. You can test if the package is configured properly or not by clicking on the Test Configuration button. You should see a Test Successful screen as shown below along with the user's attribute values.

    [![This is test configuration page](https://camo.githubusercontent.com/ee518c0f7fdb22e509026d57d207982b8ac64663e6fe4611f40bc36695a1a4df/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d617574686f72697a6174696f6e2d656e706f696e742d736176652d73657474696e672e77656270)](https://camo.githubusercontent.com/ee518c0f7fdb22e509026d57d207982b8ac64663e6fe4611f40bc36695a1a4df/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d617574686f72697a6174696f6e2d656e706f696e742d736176652d73657474696e672e77656270)

    [![This is test configuration page](https://camo.githubusercontent.com/b6be2c7f683c4f00e21a873cc6db18a2dc9e5b00dfdfce6ca0c049844160a024/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d776f726470726573732d746573742d636f6e66696775726174696f6e2e77656270)](https://camo.githubusercontent.com/b6be2c7f683c4f00e21a873cc6db18a2dc9e5b00dfdfce6ca0c049844160a024/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f31312f6c61726176656c2d776f726470726573732d746573742d636f6e66696775726174696f6e2e77656270)

Adding Single Sign On button on the application login page (Optional)
---------------------------------------------------------------------

[](#adding-single-sign-on-button-on-the-application-login-page-optional)

Once the package is installed, you can add a **Single Sign On** button in your application login page using these commands in order:

1. Install the Laravel UI Package.

```
composer require laravel/ui

```

2. Generate Auth Routes using VueJs

```
php artisan ui vue --auth

```

3. Install Node modules and run the development

```
npm install && npm run dev

```

4. Migrate and update the database

```
php artisan migrate

```

The Laravel application login page should look something like this then.

[![This is plugin login page](https://camo.githubusercontent.com/1ecaea8e2ad775a28c1f3164fb39e33dc59d39b85aea3f7d080e41cad77c3b10/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032302f31312f6c61726176656c2d73736f2d627574746f6e2e77656270)](https://camo.githubusercontent.com/1ecaea8e2ad775a28c1f3164fb39e33dc59d39b85aea3f7d080e41cad77c3b10/68747470733a2f2f706c7567696e732e6d696e696f72616e67652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032302f31312f6c61726176656c2d73736f2d627574746f6e2e77656270)

Features
========

[](#features)

The features provided in the free and premium are listed here.

Free PlanPremium PlanSimple and easy-to-use admin UISimple and easy-to-use admin UIUnlimited SSO AuthenticationsUnlimited SSO AuthenticationsJust In Time User Provisioning / Auto-creationJust In Time User Provisioning / Auto-creationAccount LinkingAccount LinkingBasic Attribute MappingAdvanced Attribute MappingCustom Attribute MappingOAuth/OpenID Supported Grant TypesRedirect all SSO users to specific URL after Login/LogoutJWT Vadilation SupportProtect Complete Site with SSODomain RestrictionsFeature Description
===================

[](#feature-description)

- **Advanced and Custom Attribute Mapping**

    It allows you to map the recieved custom attributes sent by your OAuth Provider to the OAuth Client *(Laravel Application)*.
- **Auto-create users in Laravel**

    Creates the users from the OAuth Provider to OAuth Client (Laravel Application) when SSO is done.
- **OAuth/OpenID Supported Grant Types**

    Multiple grant type support like Authorization Code Grant, Password Grant, Client Credentials Grant, Implicit Grant, Refresh Token Grant and Authorization Code Grant with PKCE.
- **JWT Vadilation Support**

    HSA and RSA alogirthm support for JWT validation.
- **Protect Complete Site and Auto-Redirect**

    Asking user to login via SSO if the user session does not exist everytime the site is accessed.

Single Sign On (SSO)
====================

[](#single-sign-on-sso)

The Single Sign On can be initiated using ***{laravel-application-domain}/ssologin.php?option=oauthredirect*** or the Single Sign On button (if added using the commands above) on the login page of the Laravel application.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 62.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~74 days

Recently: every ~92 days

Total

8

Last Release

902d ago

Major Versions

v1.0.0 → v2.0.12022-06-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/9eeed4a6762c4cd395b5c508453e5fd5682064406836182fecfc917c211283b3?d=identicon)[miniorange](/maintainers/miniorange)

---

Top Contributors

[![miniOrangeDev](https://avatars.githubusercontent.com/u/12458201?v=4)](https://github.com/miniOrangeDev "miniOrangeDev (10 commits)")[![vidushigupta0607](https://avatars.githubusercontent.com/u/110659586?v=4)](https://github.com/vidushigupta0607 "vidushigupta0607 (6 commits)")

---

Tags

authenticationlaraveloauthoauth2openidopenid-connectsingle-sign-onsso

### Embed Badge

![Health badge](/badges/miniorange-oauth-laravel-free/health.svg)

```
[![Health](https://phpackages.com/badges/miniorange-oauth-laravel-free/health.svg)](https://phpackages.com/packages/miniorange-oauth-laravel-free)
```

###  Alternatives

[lab404/laravel-impersonate

Laravel Impersonate is a plugin that allows to you to authenticate as your users.

2.3k16.4M48](/packages/lab404-laravel-impersonate)[santigarcor/laratrust

This package provides a flexible way to add Role-based Permissions to Laravel

2.3k5.4M43](/packages/santigarcor-laratrust)[overtrue/laravel-follow

User follow unfollow system for Laravel.

1.2k404.7k5](/packages/overtrue-laravel-follow)[codegreencreative/laravel-samlidp

Make your PHP Laravel application an Identification Provider using SAML 2.0. 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).

263763.5k1](/packages/codegreencreative-laravel-samlidp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
