PHPackages                             jorisnoo/statamic-login-link - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. jorisnoo/statamic-login-link

ActiveStatamic-addon[Utility &amp; Helpers](/categories/utility)

jorisnoo/statamic-login-link
============================

One-click developer login buttons for Statamic CP on localhost

0.1.0(3mo ago)03MITPHPPHP ^8.3

Since Mar 17Pushed 3mo agoCompare

[ Source](https://github.com/jorisnoo/statamic-login-link)[ Packagist](https://packagist.org/packages/jorisnoo/statamic-login-link)[ RSS](/packages/jorisnoo-statamic-login-link/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Statamic Login Link
===================

[](#statamic-login-link)

One-click developer login buttons for the Statamic CP. Skip typing credentials on localhost.

Adds "Developer Login" buttons below the CP login form that authenticate you instantly via signed URLs. Multiple independent security layers ensure this can never activate in production.

Inspired by [spatie/laravel-login-link](https://github.com/spatie/laravel-login-link) and [filament-developer-logins](https://github.com/DutchCodingCompany/filament-developer-logins), built for Statamic 6.

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

[](#requirements)

- PHP 8.3+
- Statamic 6
- Laravel 12

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

[](#installation)

```
composer require jorisnoo/statamic-login-link --dev
```

Publish the config file:

```
php artisan vendor:publish --tag=statamic-login-link-config
```

Configuration
-------------

[](#configuration)

Add users to `config/statamic/login-link.php`:

```
return [
    'users' => [
        'admin@example.com' => 'Admin',
        'editor@example.com' => 'Editor',
    ],

    'allowed_environments' => ['local'],
    'allowed_hosts' => ['localhost', '127.0.0.1', '*.test'],
    'redirect_url' => null, // null = CP index
    'link_expiration_minutes' => 5,
];
```

The package does nothing until you add at least one user.

How It Works
------------

[](#how-it-works)

1. Middleware detects the CP login page and injects styled buttons before ``
2. Each button is a plain `` tag pointing to a signed URL (no JavaScript needed)
3. Clicking a button hits a controller that validates the signature, runs all security checks, and authenticates you
4. You're redirected to the CP dashboard

Security
--------

[](#security)

The package is gated by multiple independent layers:

LayerWhat it preventsEmpty user list = disabledPackage is inert until configuredEnvironment whitelist (`local`)Any injection/login on productionHost whitelist (`localhost`, `*.test`)Remote access even on local envSigned URL with 5-min expiryURL tampering, replay attacksConfigured user checkLogin as non-configured usersUser existence checkLogin as non-existent usersSession regenerationSession fixationMiddleware and controller enforce environment + host checks **independently** — even if middleware is somehow bypassed, the controller still rejects.

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

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

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance81

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

102d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0440b6ac994d5566a2ef5886fbac104a73f8458e70dbd20085e241ab0f647e0d?d=identicon)[jorgenoo](/maintainers/jorgenoo)

---

Top Contributors

[![jorisnoo](https://avatars.githubusercontent.com/u/5810772?v=4)](https://github.com/jorisnoo "jorisnoo (6 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/jorisnoo-statamic-login-link/health.svg)

```
[![Health](https://phpackages.com/badges/jorisnoo-statamic-login-link/health.svg)](https://phpackages.com/packages/jorisnoo-statamic-login-link)
```

###  Alternatives

[statamic/seo-pro

68488.6k](/packages/statamic-seo-pro)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135212.4k7](/packages/statamic-rad-pack-runway)[statamic/ssg

Generate static sites with Statamic.

254319.5k](/packages/statamic-ssg)[rias/statamic-redirect

29322.9k](/packages/rias-statamic-redirect)[spatie/statamic-responsive-images

Responsive Images for Statamic

114250.6k](/packages/spatie-statamic-responsive-images)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

23100.9k12](/packages/marcorieser-statamic-livewire)

PHPackages © 2026

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