PHPackages                             sulaimanmisri/easy-login - 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. sulaimanmisri/easy-login

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

sulaimanmisri/easy-login
========================

A simple Laravel Social Login for your Laravel application.

v1.3.0(1y ago)17212MITPHPPHP ^8.3

Since Jan 6Pushed 1y ago1 watchersCompare

[ Source](https://github.com/msulaimanmisri/easy-login)[ Packagist](https://packagist.org/packages/sulaimanmisri/easy-login)[ RSS](/packages/sulaimanmisri-easy-login/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)DependenciesVersions (6)Used By (0)

[![EasyLogin Image](public/easy-login.png)](public/easy-login.png)

Easy Login for Laravel Application
----------------------------------

[](#easy-login-for-laravel-application)

Easy Login is a Laravel package designed to simplify OAuth authentication using Laravel Socialite. It provides pre-built success/failed mechanism, routes and streamlined configuration to integrate third-party OAuth providers effortlessly.

Installation
------------

[](#installation)

1. Install the package via Composer

```
composer require sulaimanmisri/easy-login
```

2. Run the installation wizard:

```
php artisan easy-login:install
```

3. Configure your OAuth credentials in .env. Example:

```
GITHUB_CLIENT_ID=your-client-id
GITHUB_CLIENT_SECRET=your-client-secret
GITHUB_REDIRECT_URL=https://your-app.com/auth/{provider}/callback
```

Important

You should only change the {provider} name to the specific provider that you choose. For example, if you choose `Facebook`, then your Redirect URL should be: `/auth/facebook/callback`

That's it for the installation. You can use it in your application right now.

Usage
-----

[](#usage)

You can modify the post-login redirect paths in the `config/easy-login.php` file:

```
'redirects' => [
    'success' => '/dashboard',
    'failure' => '/login',
]

```

After you finish the installation and modify the `easy-login` config, you can use the pre-defined route in your own `html button`. Like this :

```
 Login via Github
```

or

```
 Login via Azure
```

#### List of pre-defined Route Names

[](#list-of-pre-defined-route-names)

- easy-login.github
- easy-login.google
- easy-login.facebook
- easy-login.twitter
- easy-login.azure
- easy-login.linkedin
- easy-login.slack
- easy-login.bitbucket
- easy-login.gitlab
- More to coming!

Auth Session
------------

[](#auth-session)

This package comes with Success and Failed login mechanisms. When a user tries to login via any selected Social Login and their email is not found in your DB, they will be redirected to the path set in the config, where you can display a custom message.

You can change the Success and Failed Messages by modifying the error value inside the `config/easy-login.php` file:

- For Success session, use `easy-success` as the key
- For Failed session, use `easy-error` as the key

Example:

```
@if (session()->has('easy-error'))

            {{ session('easy-error') }}

@endif

```

Key Features
------------

[](#key-features)

#### 1. Seamless Integration with Laravel Socialite

[](#1-seamless-integration-with-laravel-socialite)

Easily connect your application to providers like GitHub, Google, and more through Laravel Socialite.

#### 2. Simple Configuration

[](#2-simple-configuration)

Manage OAuth providers in a single configuration file.

#### 3. Pre-Built Routes

[](#3-pre-built-routes)

Automatically provides routes for:

- Redirecting to OAuth providers (e.g., GitHub)
- Handling authentication callbacks

#### 4. Customizable Behavior

[](#4-customizable-behavior)

Extend or override the config data or callback logic easily using the CallbackServices class.

Contributing
------------

[](#contributing)

Feel free to contribute to this package by submitting issues or pull requests. Follow the standard coding guidelines for consistency.

Developer Customization
-----------------------

[](#developer-customization)

You might want to use `Easy Login` as your primary Social Login, but the provider is not there. You can contribute to this Package too! By default, you need to follow other Provider Redirection inside the `EasyLoginController`.

But, if you find that the provider you want is not supported by Laravel Socialite by default, you can create a custom Controller by naming the file like so : `EasyLoginForWhatProviderNameController`. Change the `WhatProviderName` to your own provider name. Eg : `EasyLoginForMySpaceController`

Then, create a Service file inside the `Services` and follow the naming convention. Like so : `YourProviderServices`.

To use the `EasyLoginServices` interface, implement it in your services class and provide concrete implementations for the required methods. Your services must implement the `EasyLoginServices`.

Coding Standards
----------------

[](#coding-standards)

To maintain consistency and quality across the codebase, please adhere to the following coding standards when contributing to this project.

#### 1. Strict Typing

[](#1-strict-typing)

- Always declare strict\_types=1 at the top of every PHP file.
- Use return type declarations for all methods.
- Use type hints for all method parameters.

#### 2. Namespace and Class Naming

[](#2-namespace-and-class-naming)

- Follow PSR-4 autoloading standards.
- Follow PSR-12 coding style guidelines.
- Use PascalCase for class and interface names.
- Namespaces should match the directory structure.

#### 3. Method Naming

[](#3-method-naming)

- Use camelCase for method names.
- Method names should be descriptive and reflect their purpose.

#### 4. Comments and Documentation

[](#4-comments-and-documentation)

- Use PHPDoc blocks to document all classes, methods, and properties.
- Include a description, parameter details, return types, and exceptions (if any).
- Keep comments concise but informative. Or at least a room for the code to "breath"

#### 5. Commit Messages

[](#5-commit-messages)

- Use clear and descriptive commit messages.
- Follow the Conventional Commits format:

```
- Add MySpace Login
- Fix Provider not found

```

Final Notes
-----------

[](#final-notes)

By following these coding standards, we can ensure that the codebase remains clean, consistent, and easy to maintain. If you have any questions or need clarification, feel free to open an issue or reach out to the maintainers.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance42

Moderate activity, may be stable

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~2 days

Total

5

Last Release

482d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b90923eece16811793cf6e8696d1f2db7252f1b3cf60f502b0c8e15710d0b057?d=identicon)[serversulaiman](/maintainers/serversulaiman)

---

Top Contributors

[![msulaimanmisri](https://avatars.githubusercontent.com/u/47172118?v=4)](https://github.com/msulaimanmisri "msulaimanmisri (25 commits)")

### Embed Badge

![Health badge](/badges/sulaimanmisri-easy-login/health.svg)

```
[![Health](https://phpackages.com/badges/sulaimanmisri-easy-login/health.svg)](https://phpackages.com/packages/sulaimanmisri-easy-login)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

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