PHPackages                             artisanpack-ui/security-advanced-auth - 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. artisanpack-ui/security-advanced-auth

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

artisanpack-ui/security-advanced-auth
=====================================

Enterprise authentication for Laravel — WebAuthn/FIDO2 passwordless auth, SSO (SAML/OIDC/LDAP), social login, biometric auth, and device fingerprinting.

1.0.1(1mo ago)072[2 issues](https://github.com/ArtisanPack-UI/security-advanced-auth/issues)1MITPHPPHP ^8.2CI passing

Since May 19Pushed 1mo agoCompare

[ Source](https://github.com/ArtisanPack-UI/security-advanced-auth)[ Packagist](https://packagist.org/packages/artisanpack-ui/security-advanced-auth)[ RSS](/packages/artisanpack-ui-security-advanced-auth/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (2)Dependencies (22)Versions (4)Used By (1)

ArtisanPack UI — Security Advanced Auth
=======================================

[](#artisanpack-ui--security-advanced-auth)

Enterprise authentication for Laravel: WebAuthn / FIDO2 passwordless auth, SSO (SAML / OIDC / LDAP), social login across 8 providers, biometric authentication, device fingerprinting, and suspicious activity detection.

This package is part of the **ArtisanPack UI Security 2.0** split — the enterprise-auth features previously bundled inside `artisanpack-ui/security` (1.x) live here in 2.0+.

Features
--------

[](#features)

- **WebAuthn / FIDO2** (`WebAuthnManager`, 577 lines) — registration + authentication options, response verification, credential CRUD. Supports passkeys, security keys, and platform authenticators.
- **SSO** (`SsoManager`, 302 lines) — SAML 2.0, OIDC, LDAP. Configurable per-IdP via `SsoConfiguration` model. SP metadata endpoint, single sign-on + single logout.
- **Social authentication** (`SocialAuthManager`, 363 lines) — OAuth across 8 shipped providers (Apple, Facebook, GitHub, Google, LinkedIn, Microsoft, plus generic OIDC and OAuth2 abstract bases for custom providers).
- **Biometric authentication** (`BiometricManager`) — pluggable provider model, `WebAuthnBiometricProvider` ships as the default.
- **Device fingerprinting** (`DeviceFingerprintService`) — generates device fingerprints, tracks known / trusted devices, flags unknown devices.
- **Suspicious activity detection** (`SuspiciousActivityService`) — auth-flow patterns (impossible travel, proxy detection, Tor detection, datacenter IPs, multiple failures, device changes, session hijacking).
- **Livewire components** (5) — `WebAuthnCredentialsManager`, `BiometricManager`, `DeviceManager`, `SocialAccountsManager`, `SuspiciousActivityList` — all with shipped Blade views in plain HTML + Tailwind.
- **HTTP controllers + routes** — bundled controllers and routes file with callback endpoints for social OAuth, SSO (SAML / OIDC), and WebAuthn ceremonies. Configurable prefix + middleware.
- **Eloquent models** (7) — `DeviceFingerprint`, `SocialIdentity`, `SsoConfiguration`, `SsoIdentity`, `SuspiciousActivity`, `UserDevice`, `WebAuthnCredential`.
- **Migrations** (7) — full schema for the above.
- `SecurityAdvancedAuth` Facade and `security_advanced_auth()` helper.

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

[](#installation)

```
composer require artisanpack-ui/security-advanced-auth
php artisan migrate
```

> The migrations create tables tied to the `users` table. Run Laravel's default migrations first.

(Optional) Publish the config:

```
php artisan vendor:publish --tag=security-advanced-auth-config
```

(Optional) Publish the Livewire views for customization:

```
php artisan vendor:publish --tag=security-advanced-auth-views
```

Quick start
-----------

[](#quick-start)

### Mount the Livewire components

[](#mount-the-livewire-components)

```

```

### Wire up a social provider

[](#wire-up-a-social-provider)

```
use ArtisanPackUI\SecurityAdvancedAuth\Authentication\Social\SocialAuthManager;

app( SocialAuthManager::class )->registerProvider( 'google', [
    'client_id'     => env('GOOGLE_CLIENT_ID'),
    'client_secret' => env('GOOGLE_CLIENT_SECRET'),
    'redirect_uri'  => route('security-advanced-auth.social.callback', ['provider' => 'google']),
] );
```

With the default route prefix (`auth`), users can hit `/auth/social/google/redirect` to begin login. The callback at `/auth/social/google/callback` is wired automatically. The prefix is configurable via `artisanpack.security-advanced-auth.routes.prefix`; prefer the named routes (`security-advanced-auth.social.redirect`, `.callback`) when generating URLs.

### Wire up an SSO provider

[](#wire-up-an-sso-provider)

```
use ArtisanPackUI\SecurityAdvancedAuth\Models\SsoConfiguration;

SsoConfiguration::create([
    'slug'       => 'corp-saml',
    'name'       => 'Corporate SAML',
    'type'       => 'saml',
    'config'     => [/* IdP-specific config */],
    'is_enabled' => true,
]);
```

With the default route prefix (`auth`), the login URL is `/auth/sso/corp-saml/login` and SAML metadata is at `/auth/sso/corp-saml/metadata`. Prefer the named routes (`security-advanced-auth.sso.login`, `.metadata`) when generating URLs — the prefix is configurable via `artisanpack.security-advanced-auth.routes.prefix`.

### WebAuthn registration

[](#webauthn-registration)

The Livewire `WebAuthnCredentialsManager` component handles the UI side. The host app's JS performs the actual WebAuthn ceremony via `navigator.credentials.create()` against options served by `POST /auth/webauthn/register/options`.

Documentation
-------------

[](#documentation)

- [Documentation home](docs/home.md)
- [Getting started](docs/getting-started.md)
- [Installation](docs/installation.md)
- [Usage](docs/usage.md)
- [Advanced](docs/advanced.md)
- [FAQ](docs/faq.md)
- [Troubleshooting](docs/troubleshooting.md)
- [Changelog](CHANGELOG.md)

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

[](#requirements)

- PHP 8.2+
- Laravel 10 / 11 / 12 / 13
- `livewire/livewire: ^3.6 | ^4.0` (for the 5 Livewire components)
- A working `users` table (run Laravel's default migrations first)
- Per-provider deps (e.g. SAML toolkit if you use SAML SSO — leave to the consumer to install)

Sibling packages
----------------

[](#sibling-packages)

PackageScope[`artisanpack-ui/security-full`](https://github.com/ArtisanPack-UI/security-full)Meta-package — pulls in the full security suite (all six packages below) in a single require[`artisanpack-ui/security`](https://github.com/ArtisanPack-UI/security)Core: input sanitization, escaping, CSP, security headers[`artisanpack-ui/security-auth`](https://github.com/ArtisanPack-UI/security-auth)2FA, password complexity, account lockout, sessions[`artisanpack-ui/rbac`](https://github.com/ArtisanPack-UI/rbac)Roles, permissions, Gate integration[`artisanpack-ui/secure-uploads`](https://github.com/ArtisanPack-UI/secure-uploads)File validation, malware scanning, signed-URL serving[`artisanpack-ui/security-analytics`](https://github.com/ArtisanPack-UI/security-analytics)Event logging, anomaly detection, SIEM, dashboards[`artisanpack-ui/compliance`](https://github.com/ArtisanPack-UI/compliance)GDPR / CCPA / LGPD compliance toolsLicense
-------

[](#license)

MIT — see [LICENSE](LICENSE).

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

[](#contributing)

Please read the [contributing guidelines](CONTRIBUTING.md) before opening an issue or PR.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance92

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

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 ~26 days

Total

2

Last Release

40d ago

### Community

Maintainers

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

---

Top Contributors

[![ViewFromTheBox](https://avatars.githubusercontent.com/u/8247489?v=4)](https://github.com/ViewFromTheBox "ViewFromTheBox (24 commits)")

---

Tags

laravelsecurityAuthenticationSSOsamlFIDO2webauthnoidcSocial Loginbiometricdevice-fingerprinting

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/artisanpack-ui-security-advanced-auth/health.svg)

```
[![Health](https://phpackages.com/badges/artisanpack-ui-security-advanced-auth/health.svg)](https://phpackages.com/packages/artisanpack-ui-security-advanced-auth)
```

###  Alternatives

[asbiin/laravel-webauthn

Laravel Webauthn support

311640.6k](/packages/asbiin-laravel-webauthn)[alajusticia/laravel-logins

Session management in Laravel apps, user notifications on new access, support for multiple separate remember tokens, IP geolocation, User-Agent parser

2014.5k](/packages/alajusticia-laravel-logins)

PHPackages © 2026

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