artisanpack-ui/security
Core Laravel security toolkit for ArtisanPack UI: sanitization, escaping (Laminas Escaper), KSES filtering, validation rules, security/CSP middleware, CSP builder with nonce & reporting, rate limiting, audit/scan commands, and testing helpers.
Step-by-step video guides for implementing security features in your Laravel application.
Duration: 15 minutes
Learn how to install and configure the ArtisanPack Security package in a fresh Laravel application.
Topics Covered:
What You'll Build: A Laravel application with the security package installed and basic configuration complete.
Prerequisites:
Code Along:
# Install the package
composer require artisanpackui/security
# Publish configuration
php artisan vendor:publish --provider="ArtisanPackUI\Security\SecurityServiceProvider"
# Run migrations
php artisan migrate
# Verify installation
php artisan security:check-config
Duration: 10 minutes
Add the required traits to your User model to enable security features.
Topics Covered:
What You'll Build: A User model configured with core security traits.
Code Along:
<?php
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use ArtisanPackUI\Security\TwoFactor\TwoFactorAuthenticatable;
use ArtisanPackUI\Security\Concerns\HasRoles;
use ArtisanPackUI\Security\Concerns\HasApiTokens;
use ArtisanPackUI\Security\Concerns\HasPasswordHistory;
class User extends Authenticatable
{
use TwoFactorAuthenticatable;
use HasRoles;
use HasApiTokens;
use HasPasswordHistory;
// Your existing code...
}
Duration: 12 minutes
Configure security middleware for your routes.
Topics Covered:
What You'll Build: Protected routes with security middleware applied.
Duration: 25 minutes
Add TOTP-based two-factor authentication to your application.
Topics Covered:
What You'll Build: Complete 2FA setup and challenge flow.
Code Along:
// Enable 2FA for a user
use ArtisanPackUI\Security\Facades\TwoFactor;
$recoveryCodes = TwoFactor::enable($user);
// Verify a code
$valid = TwoFactor::verify($user, $code);
Duration: 20 minutes
Add Google, GitHub, and other social login providers.
Topics Covered:
What You'll Build: Login with Google and GitHub buttons.
Code Along:
# .env configuration
SECURITY_SOCIAL_AUTH_ENABLED=true
SECURITY_SOCIAL_GOOGLE_ENABLED=true
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
Duration: 30 minutes
Implement passwordless authentication with hardware security keys.
Topics Covered:
What You'll Build: Passwordless login with passkeys.
Duration: 35 minutes
Integrate with enterprise identity providers using SAML.
Topics Covered:
What You'll Build: SAML SSO integration with Azure AD or Okta.
Duration: 25 minutes
Implement roles and permissions for your application.
Topics Covered:
What You'll Build: Admin, editor, and user role hierarchy.
Code Along:
// Create roles
$admin = Role::create(['name' => 'admin']);
$editor = Role::create(['name' => 'editor']);
// Create permissions
$manageUsers = Permission::create(['name' => 'manage-users']);
$editContent = Permission::create(['name' => 'edit-content']);
// Assign permissions
$admin->permissions()->attach([$manageUsers->id, $editContent->id]);
$editor->permissions()->attach($editContent->id);
// Assign role to user
$user->assignRole('admin');
// Check permission
if ($user->hasPermission('manage-users')) {
// ...
}
Duration: 20 minutes
Create and manage API tokens with abilities.
Topics Covered:
What You'll Build: API with token-based authentication.
Duration: 25 minutes
Implement CSP to prevent XSS attacks.
Topics Covered:
What You'll Build: Strict CSP with nonce support.
Code Along:
{{-- Using nonces --}}
<script nonce="{{ cspNonce() }}">
console.log('This script is allowed');
</script>
Duration: 30 minutes
Implement secure file upload handling.
Topics Covered:
What You'll Build: Secure document upload system.
Duration: 20 minutes
Implement advanced session security features.
Topics Covered:
What You'll Build: Session management dashboard.
Duration: 30 minutes
Implement GDPR features for EU compliance.
Topics Covered:
What You'll Build: Privacy dashboard for users.
Duration: 25 minutes
Set up monitoring and alerting.
Topics Covered:
What You'll Build: Admin security dashboard.
Duration: 20 minutes
Write tests for your security implementation.
Topics Covered:
What You'll Build: Comprehensive security test suite.
Duration: 5 minutes
Add real-time password strength feedback.
<livewire:password-strength-meter />
Duration: 5 minutes
Test your application's security headers.
php artisan security:test-headers https://yourapp.com --verbose
Duration: 8 minutes
Add an audit log viewer to your admin panel.
<livewire:audit-log-viewer :user="$user" />
Duration: 8 minutes
Let users manage their active sessions.
<livewire:session-manager />
Build a complete secure application from scratch.
Part 1: Setup (20 min)
Part 2: Authentication (30 min)
Part 3: Authorization (20 min)
Part 4: Security Features (30 min)
Part 5: Monitoring & Compliance (20 min)
Final Result: Production-ready secure application.
For the best experience:
Each tutorial has an accompanying code repository:
If you get stuck:
Have a topic you'd like covered? We welcome suggestions for new tutorials.
Popular Requests:
How can I help you explore Laravel packages today?