PHPackages                             klongchu/laravel-session-out - 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. klongchu/laravel-session-out

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

klongchu/laravel-session-out
============================

Notify the user via modal if session expired

1.0.0(1y ago)08MITPHP

Since May 25Pushed 1y agoCompare

[ Source](https://github.com/klongchu/laravel-session-out)[ Packagist](https://packagist.org/packages/klongchu/laravel-session-out)[ Docs](https://github.com/klongchu/laravel-session-out)[ RSS](/packages/klongchu-laravel-session-out/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Session expired message for your Laravel application
====================================================

[](#session-expired-message-for-your-laravel-application)

[![Latest Version on Packagist](https://camo.githubusercontent.com/140104c2e6aea70b77544f0ab3d94359eb5c526e65b6b67afa21aa965a563625/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6c6f6e676368752f6c61726176656c2d73657373696f6e2d6f75742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klongchu/laravel-session-out)[![GitHub license](https://camo.githubusercontent.com/6fbb26fbdd37b4fd312cf8ed519218335fb970808678d5e5012c4bdc162e4c65/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b6c6f6e676368752f6c61726176656c2d73657373696f6e2d6f75742e7376673f7374796c653d666c61742d737175617265)](https://github.com/klongchu/laravel-session-out/blob/master/LICENSE)[![Total Downloads](https://camo.githubusercontent.com/ebe89fd3b542b04ad83d0c84dffbf5f620beef490931e17c4c526690353f7536/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6c6f6e676368752f6c61726176656c2d73657373696f6e2d6f75742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klongchu/laravel-session-out)[![Laravel Support](https://camo.githubusercontent.com/675d222d88620a2d4160f074f188f2c33d768ea47b101ba8945c6f741c7bedfe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d352e2a2d626c75652e7376673f6c6f6e6743616368653d74727565267374796c653d666c61742d737175617265)](#)[![GitHub issues](https://camo.githubusercontent.com/9848e6922e3ef6d1f0061f611bac2ecd38fedded11372b3c0972b232f6953848/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6b6c6f6e676368752f6c61726176656c2d73657373696f6e2d6f75742e7376673f7374796c653d666c61742d737175617265)](https://github.com/klongchu/laravel-session-out/issues)

If for any reason ***( user logged out intentionally / session lifetime expired / session flushed for all logged in devices of the user )*** the authentication session doesn't exist &amp; still the user is on a page or multiple pages which require the user to be logged in, then showing a message that

> authentication session no longer available &amp; to continue your current activity *( may be in the middle of posting an unsaved post etc. )*, you are advised to login again

and right after user logged in then hiding the message is all about this package.

📥 Installation
--------------

[](#-installation)

You can install the package via composer:

```
composer require klongchu/laravel-session-out
```

> Laravel 5.5+ users: this step may be skipped, as we can auto-register the package with the framework.

```
// Add the ServiceProvider to the providers array in
// config/app.php

'providers' => [
    '...',
    'klongchu\sessionout\sessionExpiredServiceProvider::class',
];
```

You need to publish the `blade`, `js`, `css` and `config` files included in the package using the following artisan command:

```
php artisan vendor:publish --provider="klongchu\sessionout\sessionExpiredServiceProvider"
```

⚗️ Usage
--------

[](#️-usage)

just include the blade file to all the blade views which are only available to authenticated users.

```
@include('vendor.sessionout.notify')
```

> rather copying this line over &amp; over to the views, extend your base blade view and include it there in the bottom

🛠 Configuration
---------------

[](#-configuration)

#### ✔ The Config File

[](#-the-config-file)

publishing the vendor will create `config/expiredsession.php` file

```
return [
	// the number of seconds between ajax hits to check auth session
    'gap_seconds' => 30,

    // whether using broadcasting feature to make the modal disappear faster
    'avail_broadcasting' => false,
```

#### ✔ If you want to take advantage of broadcasting

[](#-if-you-want-to-take-advantage-of-broadcasting)

> \*\* if you are using `avail_broadcasting = true` i.e. want to use the Laravel Echo for faster output please follow the below steps

1. setup [broadcasting](https://laravel.com/docs/master/broadcasting) for your app and start `usersession` queue worker

```
php artisan queue:work --queue=default,usersession
```

2. make sure to put the broadcasting client config `js` file above the `@include` line not below it, in your blade view.

```

//some html between
@include('vendor.sessionout.notify')
```

3. in `App\Providers\BroadcastServiceProvider` file in the `boot` method require the package's channel file, it contains private channel authentication

```
require base_path('vendor/klongchu/laravel-session-out/src/routes/channels.php');
```

4. in all the places from where users are authenticated call `klongchu\sessionout\classes\AuthState::sessionAvailable()` . if you are using custom logic to login users then put the line inside your authentication method when login is successful. > if you are using laravel's default authentication system then better choice will be to create a listener of the login event, Example :-

```
// App\Providers\EventServiceProvider

protected $listen = [
        'Illuminate\Auth\Events\Login' => [
            'App\Listeners\SuccessfulLogin',
        ],
    ];
```

```
// App\Listeners\SuccessfulLogin

use klongchu\sessionout\classes\AuthState;

/**
* Handle the event.
*
* @param  Login  $event
* @return void
*/
public function handle(Login $user)
{
	AuthState::sessionAvailable();
}
```

#### ✔ Update the modal design &amp; contents

[](#-update-the-modal-design--contents)

The modal is created with pure `js` and `css` no framework has been used, so you can easily customize the modal contents by editing the `views/vendor/sessionout/modal.blade.php` &amp; the design by editing `public/vendor/sessionout/css/session-modal.css`

#### ✔ Advanced

[](#-advanced)

- 🔘 if you want to customize the `js` file which is responsible for checking auth session &amp; modal display then modify the `public/vendor/sessionout/js/main.js` file but don't forget to compile it with webpack &amp; place the compiled `js` as `public/vendor/sessionout/dist/js/main.js`
- 🔘 **you may want to create a login form** in the modal, first create the html form in the `views/vendor/sessionout/modal.blade.php` then put the ajax code in `public/vendor/sessionout/js/main.js` &amp; don't forget to compile as mentioned above,

    > after ajax success close the modal by calling the `closeSessionOutModal()` function

🧐📑 Note
-------

[](#-note)

#### ♻ When updating the package

[](#-when-updating-the-package)

Remember to publish the `assets`, `views` and `config` after each update

use `--force` tag after updating the package to publish the **updated latest** package `assets`, `views` and `config`

> but remember using *--force* tag will replace all the publishable files

```
php artisan vendor:publish --provider="klongchu\sessionout\sessionExpiredServiceProvider" --force

php artisan vendor:publish --provider="klongchu\sessionout\sessionExpiredServiceProvider" --tag=public --force
```

> when updating the package take backup of the `config/expiredsession.php` file &amp; `public/vendor/sessionout`, `views/vendor/sessionout` directories as the files inside these dir. are configurable so if you modify the files then the updated published files will not contain the changes, though after publishing the `assets`, `views` and `config` you may again modify the files

#### 🔧 After you tweak things

[](#-after-you-tweak-things)

Run this artisan command after changing the config file.

```
php artisan config:clear
php artisan queue:restart // only when using broadcasting
```

👋🏼 Say Hi!
----------

[](#-say-hi)

Let me know in [Twitter](https://twitter.com/srvrksh) | [Facebook](https://www.facebook.com/srvrksh) if you find this package useful 👍🏼

🎀 License
---------

[](#-license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 89.7% 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

Unknown

Total

1

Last Release

723d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6489801?v=4)[Klongchu Dev BUDHOSP](/maintainers/klongchu)[@klongchu](https://github.com/klongchu)

---

Top Contributors

[![devsrv](https://avatars.githubusercontent.com/u/26733312?v=4)](https://github.com/devsrv "devsrv (26 commits)")[![klongchu](https://avatars.githubusercontent.com/u/6489801?v=4)](https://github.com/klongchu "klongchu (3 commits)")

---

Tags

laravel suggest login againlaravel expired session message

### Embed Badge

![Health badge](/badges/klongchu-laravel-session-out/health.svg)

```
[![Health](https://phpackages.com/badges/klongchu-laravel-session-out/health.svg)](https://phpackages.com/packages/klongchu-laravel-session-out)
```

###  Alternatives

[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)[illuminate/auth

The Illuminate Auth package.

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

A flexible, driver based Acl package for PHP 5.4+

870304.7k2](/packages/beatswitch-lock)[amocrm/amocrm-api-library

amoCRM API Client

182728.5k6](/packages/amocrm-amocrm-api-library)[vonage/jwt

A standalone package for creating JWTs for Vonage APIs

424.1M4](/packages/vonage-jwt)

PHPackages © 2026

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