Download the PHP package vercodea/auth-core without Composer
On this page you can find all versions of the php package vercodea/auth-core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vercodea/auth-core
More information about vercodea/auth-core
Files in vercodea/auth-core
Package auth-core
Short Description Enterprise-grade authentication system with rate limiting (IP + user), VPN/proxy detection, pipeline access locking, CSRF protection, secure session management, OTP verification, magic link recovery, password strength validation, common/reserved password blocklists, and SQL injection prevention.
License MIT
Informations about the package auth-core
Vercodea Auth Core
๐ Enterprise-grade PHP authentication system with advanced security features, rate limiting, OTP verification, and magic link recovery.
โก 100% Plug and Play - Install โ Configure โ Initialize โ Done. Everything is automated.
๐ Table of Contents
- Features
- Requirements
- Installation - 4 simple steps, fully automated
- Configuration
- Quick Start
- API Reference
- Security Features
- Activity Logging
- Database Schema
- Best Practices
- Troubleshooting
- License
-
Support this project
โจ Features
- ๐ bcrypt Password Hashing - Industry-standard password encryption with PASSWORD_DEFAULT algorithm
- ๐ก๏ธ Dual-Layer Rate Limiting - IP-based and user-based throttling to prevent brute force attacks
- ๐ VPN/Proxy Detection - Real-time detection via ProxyCheck.io API with automatic blocking
- ๐ง OTP Verification - 6-digit time-limited one-time passwords via email (Resend API)
- ๐ Magic Link Recovery - Secure password recovery with unique tokens and expiration
- ๐ช Secure Session Management - Redis-backed sessions with CSRF protection and HttpOnly cookies
- โ Comprehensive Input Validation - Email, username, password, and OTP format validation
- ๐ซ Common Password Blocklist - 94,500+ weak passwords prevented (+ reserved password list)
- ๐ Activity Logging - Audit trail for all authentication events with timestamps and user info
- ๐ SQL Injection Prevention - 100% prepared statements via PDO
- ๐ช Pipeline Access Control - File-level security to prevent unauthorized direct execution
- ๐ฌ HTML Email Templates - Beautiful, responsive email notifications for OTP, recovery, and account lockouts
- ๐ Account Lockout Notifications - Automatic email alerts when suspicious activity detected
- ๐ Multi-Environment Support - Development and production configurations
๐ฆ Requirements
| Component | Version | Purpose |
|---|---|---|
| PHP | 7.4+ or 8.0+ | Core runtime |
| MySQL | 5.7+ | User and session data storage |
| Redis | 5.0+ | Session, OTP, and rate limit caching |
| PHP Extensions | pdo, redis, curl, openssl, json |
Required PHP modules |
| Composer | 1.9+ | Dependency manager |
PHP Extensions Verification
๐ Installation
Plug and Play Setup - Everything is automated. No manual SQL commands or database setup needed!
Step 1: Install via Composer
Step 2: Configure Environment
Edit .env and fill in your credentials:
All environment variables have secure defaults. See Configuration for complete list.
Step 3: Initialize Database (One-time)
That's it! All required tables are created automatically. No manual SQL commands needed.
Step 4: Start Using Authentication
โ๏ธ Configuration
Environment Variables Reference
Database Configuration
| Variable | Default | Description |
|---|---|---|
MYSQL_HOST |
127.0.0.1 |
MySQL server hostname or IP |
MYSQL_PORT |
3306 |
MySQL server port |
MYSQL_USERNAME |
root |
Database username |
MYSQL_PASSWORD |
`` | Database password |
MYSQL_DBNAME |
`` | Database name |
MYSQL_DIR_URL |
null |
Unix socket path (optional) |
CHARSET |
utf8mb4 |
MySQL character set |
Redis Configuration
| Variable | Default | Description |
|---|---|---|
REDIS_HOST |
127.0.0.1 |
Redis server hostname |
REDIS_PORT |
6379 |
Redis server port |
REDIS_PASSWORD |
`` | Redis password (optional) |
Authentication Configuration
| Variable | Default | Description |
|---|---|---|
OTP_EXPIRES |
300 |
OTP validity in seconds (5 min) |
OTP_VERIFICATION_ENABLED |
true |
Enable/disable OTP verification requirement |
OTP_API_KEY |
`` | Resend.com API key |
SEND_OTP_URL |
https://api.resend.com/emails |
Email service endpoint |
DOMAIN |
localhost |
Your application domain for emails |
Rate Limiting Configuration
| Variable | Default | Description |
|---|---|---|
MAX_ATTEMPTS |
5 |
Failed attempts before lockout |
PENALTY_PERIOD |
60 |
Lockout duration in seconds |
LIMIT_EXPIRES |
3600 |
Rate limit window in seconds (1 hour) |
Session Configuration
| Variable | Default | Description |
|---|---|---|
SESSION_EXPIRY |
3600 |
Session timeout in seconds (1 hour) |
SESSION_COOKIE_SECURE |
false |
HTTPS only (set true in production) |
SESSION_COOKIE_HTTPONLY |
true |
JavaScript access disabled |
SESSION_COOKIE_SAMESITE |
Strict |
CSRF protection level |
SESSION_COOKIE_PATH |
/ |
Cookie path scope |
SESSION_COOKIE_DOMAIN |
`` | Cookie domain (empty string = current domain) |
Security Configuration
| Variable | Default | Description |
|---|---|---|
APP_ENV |
development |
Environment mode (production/development) |
CURLOPT_SSL_VERIFYPEER |
false |
SSL verification for external APIs (true in production) |
LOG_DIR |
./logs |
Application activity log directory |
ACCOUNT_RECOVERY_LIMIT_TIME |
300 |
Magic link validity in seconds (5 min) |
ACCOUNT_RECOVERY_SUBDOMAIN_PATH |
http://localhost/recover |
Password recovery page URL |
๐ง Email Notification System
Vercodea Auth Core includes a comprehensive email notification system that automatically alerts users of important authentication events using beautifully designed HTML templates.
Email Templates
1. OTP Verification Email
Sent when users request OTP during registration or authentication.
- Template:
otp_code_msg.html - Contains: 6-digit OTP code, expiration time (5 min default)
- Used by:
auth_send_otp()
2. Password Recovery Email
Sent when users request account recovery via magic link.
- Template:
password_recovery.html - Contains: Secure recovery link with unique token and ID
- Link format:
{$reset_page}?token={$magic_token}&id={$magic_id} - Expiration: 5 minutes (configurable via
ACCOUNT_RECOVERY_LIMIT_TIME) - Used by:
auth_account_recovery_link()
3. Account Lockout Alert Email
Sent when suspicious activity is detected (too many failed login attempts).
- Template:
access_bridge_msg.html - Contains: IP address, timestamp, lockout duration
- Includes: Security timeline showing LOCKED โ COOLDOWN โ UNLOCKED states
- Used by: Rate limiter when max attempts exceeded
Email Configuration
All email sending is handled via the Resend API. Configure these environment variables:
Template Customization
To customize email templates:
- Locate template files in:
src/middleware/otp_manager/Otp_messages/messages/ - Edit HTML templates (OTP variables use
{$variable_name}syntax) - Available variables by template:
- otp_code_msg.html:
{$otp_code} - password_recovery.html:
{$reset_url} - access_bridge_msg.html:
{$ip_address},{$blocked_at},{$block_expires}
- otp_code_msg.html:
๐๏ธ Architecture & Middleware
The system uses a middleware pipeline architecture with multiple security layers:
Middleware Stack
| Middleware | Location | Purpose |
|---|---|---|
| Pipeline Gateway | file_access_lock/gateway_locker.php |
File-level access control - prevents unauthorized direct execution |
| Network Check | network_check.php |
VPN/Proxy detection via ProxyCheck.io API |
| Rate Limiter | ratelimit.php |
IP-based and user-based throttling with account lockout |
| OTP Manager | otp_manager/otp_mailer.php |
OTP generation, caching, and email delivery |
| Email OTP Verifier | email_otp_verifier.php |
OTP validation and one-time use enforcement |
| Session Manager | session_manager.php |
Secure Redis-backed session handling |
| Start System | start_system.php |
System initialization and boot sequence |
Request Flow
Pipeline Access Control (Security Feature)
The gateway_locker.php middleware enforces a whitelist of allowed entry points. Only authorized files can directly execute authentication code.
How it works:
- Each authentication function verifies the caller is in the allowed files list
- Unauthorized direct execution attempts are blocked with HTTP 403
- Violations are logged for security audit
Example:
๐ฏ Quick Start
Here's a complete guide showing ALL 7 public methods in a real-world workflow:
๐ All Public Methods Reference
| # | Method | Parameters | Returns | Purpose |
|---|---|---|---|---|
| 1 | init() |
None | void |
Initialize database (one-time setup) |
| 2 | auth_send_otp(email) |
$email: string |
['status' => bool, 'msg' => string] |
Send OTP to email |
| 3 | auth_register(name, username, email, password, otp_input) |
5 params | ['status' => bool, 'msg' => string] |
Register new user |
| 4 | auth_login(username, email, password) |
3 params | ['status' => bool, 'msg' => string] |
Login user |
| 5 | auth_logout() |
None | ['status' => bool, 'msg' => string] |
Logout user |
| 6 | auth_account_recovery_link(email) |
$email: string |
['status' => bool, 'msg' => string] |
Send recovery link |
| 7 | auth_verify_recovery(id, token, password, confirm) |
4 params | ['status' => bool, 'msg' => string] |
Reset password |
โ Response Format
All methods (except init()) return a standardized response:
Always check $result['status'] before proceeding:
๐ API Reference
AuthInit Class - All Public Methods
The AuthInit class provides 7 public methods for complete authentication workflow:
1. Initialize Database
Initializes the database by creating all required tables. Run this once during installation.
2. Send OTP
Parameters:
$email(string) - Email address to send OTP to
Returns: ['status' => bool, 'msg' => string]
Example:
3. Register User
Parameters:
$name(string) - Full name (2-100 chars, letters and spaces)$username(string) - Username (3-50 chars, alphanumeric +_.-)$email(string) - Email address (valid format required)$password(string) - Password (8+ chars with uppercase, lowercase, number, special char)$otp_input(string) - 6-digit OTP from email
Returns: ['status' => bool, 'msg' => string]
Example:
4. Login User
Parameters:
$username(string|null) - Username (usenullif using email)$email(string|null) - Email (usenullif using username)$password(string) - Password
Returns: ['status' => bool, 'msg' => string]
Example:
5. Logout User
Parameters: None
Returns: ['status' => bool, 'msg' => string]
Example:
6. Request Password Recovery
Parameters:
$email(string) - Email address to send recovery link to
Returns: ['status' => bool, 'msg' => string]
Example:
7. Verify Recovery & Reset Password
Parameters:
$magic_id(string|int) - Magic ID from URL parameter?id=$magic_token(string) - Magic token from URL parameter?token=$new_password(string) - New password (same validation as registration)$confirm_password(string) - Password confirmation (must match new_password)
Returns: ['status' => bool, 'msg' => string]
Example:
Response Format
All methods return a consistent structure:
Always check the status before proceeding:
๏ฟฝ Execution Flow Diagrams
1. ๐ AuthInit::init() - System Initialization
2. ๐ง AuthInit::auth_send_otp() - Send OTP Email
3. ๐ค AuthInit::auth_register() - User Registration
4. ๐ AuthInit::auth_login() - User Login
5. ๐ช AuthInit::auth_logout() - User Logout
6. ๐ AuthInit::auth_account_recovery_link() - Send Recovery Link
7. ๐ AuthInit::auth_verify_recovery() - Reset Password
๏ฟฝ๐ Security Features
Password Security
| Feature | Details |
|---|---|
| Hashing Algorithm | bcrypt (PASSWORD_DEFAULT) |
| Minimum Length | 8 characters |
| Required Character Types | Uppercase, lowercase, number, special character |
| Blocked Passwords | 94,500+ common weak passwords + reserved words |
| Validation Rules | Cannot match username or email, max 4096 chars |
Rate Limiting & Brute Force Protection
| Feature | Details |
|---|---|
| Signup Rate Limit | IP-based: 5 attempts per hour (configurable) |
| Signin Rate Limit | Dual-layer: IP + User account tracking |
| Lockout Duration | 60 seconds (configurable via PENALTY_PERIOD) |
| Penalty Response | HTTP 429, retry-after header |
| Account Lockout Alert | Email notification sent to user with attack details |
| Lockout Information Included | IP address, timestamp, duration, security timeline |
Email Notification Security
| Feature | Details |
|---|---|
| OTP Emails | Beautiful HTML templates with 6-digit codes |
| Recovery Emails | Secure magic link with unique token + ID |
| Lockout Alerts | Suspicious activity notifications with timeline |
| Email Validation | RFC-compliant format checks before sending |
| API Integration | Resend API with Bearer token authentication |
| Template System | Customizable HTML messages via OtpMessageLoader |
| Security Timeline | Visual representation of LOCKED โ COOLDOWN โ UNLOCKED states |
Session & CSRF Protection
| Feature | Details |
|---|---|
| Session Storage | Redis-backed with automatic expiration |
| Session Timeout | 1 hour (configurable) |
| CSRF Token | Separated from session ID, SHA256 hashed |
| Token Validation | hash_equals() for timing-safe comparison |
| Cookie Security | HttpOnly, Secure, SameSite=Strict by default |
Network Security
| Feature | Details |
|---|---|
| VPN/Proxy Detection | Real-time API check via ProxyCheck.io |
| Blocked IPs | VPN, proxy, and malicious IP detection |
| Development Bypass | Localhost (127.0.0.1) allowed in development |
Input Validation
| Field | Validation Rules |
|---|---|
RFC-compliant format via filter_var() |
|
| Username | 3-50 chars, alphanumeric + _.- |
| Name | 2-100 chars, letters and spaces only |
| Password | 8+ chars, mixed case, numbers, special chars |
| OTP | Exactly 6 digits |
SQL Injection Prevention
- 100% Prepared Statements - All database queries use parameterized statements
- Query Loader - SQL files managed through
QueryLoaderclass - PDO Strict Mode -
PDO::ERRMODE_EXCEPTIONenabled - No String Concatenation - Zero direct user input in SQL
Additional Security Measures
| Feature | Details |
|---|---|
| Pipeline Access Control | File-level security prevents direct execution, whitelist-based |
| Gateway Locker Middleware | verify_pipeline_access() enforces allowed file execution |
| Error Handling | Production-safe logging, no error display to users |
| OTP One-Time Use | OTP deleted immediately after verification |
| Magic Link Single-Use | Recovery tokens deleted after password reset |
| Activity Logging | All authentication events logged with audit trail |
| Middleware Stack | Network check โ Rate limit โ Auth โ Session โ Logging |
| Intrusion Prevention | Blocks unauthorized file access attempts with logging |
๐ Activity Logging
Log Location
Logs are written to: ./logs/activity.log
Configure with: LOG_DIR environment variable
Log Format
Logged Events
| Event | Example Log Message |
|---|---|
| User Login | User {username} logged in successfully from {IP} |
| User Signup | New user registered: {username} ({email}) |
| User Logout | {username} logged out successfully at {timestamp} |
| OTP Sent | OTP sent to {email} |
| OTP Email Sent | Magic link email sent to {email} |
| OTP Verified | OTP verified successfully for: {email} |
| OTP Failed | OTP verification failed (incorrect/expired) for: {email} |
| Recovery Link | Account recovery link sent to {email} |
| Password Reset | Password reset successful for email: {email} |
| Rate Limit Hit | Rate limit exceeded for IP: {IP} (signup attempts) |
| Account Locked | Account locked: {username} exceeded max signin attempts from {IP} |
| Lockout Email Sent | Lockout notification sent to {email} |
| VPN Detected | Security Alert: VPN/Proxy detected for IP: {IP} |
| Pipeline Violation | Vercodea Intrusion Prevention: Pipeline Violation by [{caller_file}] |
| Invalid Access | Unauthorized access attempt from {IP} |
๐๏ธ Database Schema
Automatic Table Creation
When you call AuthInit::init(), all required database tables are created automatically. No manual SQL needed!
The tables are created from src/Query/Query_commands/startup/createtables.sql and include:
- users - User account information
- Any other supporting tables for full authentication functionality
Users Table Structure
| Column | Type | Details |
|---|---|---|
id |
INT | Primary key, auto-increment |
username |
VARCHAR(255) | Unique login identifier |
email |
VARCHAR(255) | Unique email address |
password |
VARCHAR(255) | bcrypt hashed password |
name |
VARCHAR(100) | User display name |
created_at |
TIMESTAMP | Account creation time |
updated_at |
TIMESTAMP | Last update time |
No manual CREATE TABLE commands required. The AuthInit::init() method handles everything.
Redis Schema
Session Storage
OTP Storage
Rate Limit Storage (Signup)
Rate Limit Storage (Signin)
Magic Link Recovery
โ Best Practices
1. Environment Security
2. HTTPS Enforcement
3. Error Handling
4. Rate Limiting
5. Session Management
6. OTP Verification
๐ง Troubleshooting
Redis Connection Error
Problem: Redis connection error: Connection refused
Solution:
MySQL Connection Error
Problem: SQLSTATE[HY000]: General error: Can't connect to MySQL server
Solution:
OTP Not Sending
Problem: Failed to send OTP. Please try again.
Solution:
Initialization Failed
Problem: AuthInit::init() fails with database error
Solution:
Rate Limit Triggering Too Early
Problem: Users locked out after 2-3 attempts
Solution: Adjust in .env:
Session Expiring Too Quickly
Problem: Users logged out after 15 minutes
Solution:
Password Validation Rejected
Problem: Strong password rejected as "too common"
Requirements: Minimum 8 characters with:
- 1 uppercase letter
- 1 lowercase letter
- 1 number
- 1 special character (e.g.,
!@#$%^&*)
Valid example: SecurePass123!@#
๏ฟฝ Roadmap & Planned Features
Current Version: 1.0.0 โ Production Ready
๐ Phase 2: Enhanced Security (v1.1.0)
๐ Two-Factor Authentication (2FA)
- TOTP (Time-based One-Time Password) - Google Authenticator, Authy, Microsoft Authenticator
- SMS-based 2FA - Via Twilio or Vonage API
- Email-based 2FA - Backup codes via email
- Recovery codes - 10 one-time backup codes per user
- Remember device - Trusted device cookie for 30 days
๐ Passwordless Authentication (WebAuthn)
- Passkeys support - Biometric login (fingerprint, face ID)
- Hardware tokens - YubiKey, Titan Security Key
- Platform authenticators - Windows Hello, Apple Touch ID, Android fingerprint
- Cross-device authentication - QR code scan for mobile
๐ก๏ธ IP Whitelist/Blacklist Management
- Allowlist - Restrict access to specific IP ranges
- Blocklist - Automatically block malicious IPs
- Geo-blocking - Restrict by country code
- IP reputation scoring - Integration with threat intelligence feeds
๐ Phase 3: Enterprise Features (v2.0.0)
๐ OAuth2 / OpenID Connect
- OAuth2 Server - Authorization Code, Implicit, Client Credentials flows
- OpenID Connect - Identity layer on top of OAuth2
- Social Login - Google, GitHub, Facebook, Microsoft, Apple
- JWT Access Tokens - Stateless API authentication
- Refresh Tokens - Long-lived session management
๐ Webhook Support
- Real-time events - Login, logout, registration, password change, 2FA enable/disable
- Custom endpoints - Configure any URL for webhook delivery
- Retry mechanism - Automatic retry with exponential backoff
- Webhook signing - HMAC-SHA256 signature verification
๐๏ธ Audit Dashboard UI
- Admin dashboard - Complete user management interface
- Activity viewer - Search and filter authentication events
- Security metrics - Login success/failure rates, active sessions, rate limit hits
- User management - Create, edit, delete, suspend users
- Role management - RBAC (Role-Based Access Control)
- Audit log export - CSV, JSON, PDF formats
๐ Admin Authentication System
- Separate admin login - Isolated from user authentication
- Admin roles - Super admin, Security admin, Audit viewer
- Admin audit logging - All admin actions logged
- MFA enforcement - Mandatory 2FA for admin accounts
- Session timeout - Shorter session expiry for admin accounts
๐ Phase 4: Performance & Scale (v2.1.0)
โก Performance Optimizations
- Database indexing - Optimized queries for high throughput
- Redis clustering - Horizontal scaling for session storage
- Read replicas - Load balancing database reads
- Caching layer - User data, permission, rate limit caching
๐ Monitoring & Alerting
- Health check endpoints -
/health,/ready,/live - Metrics export - Prometheus format for Grafana dashboards
- Alerting rules - High failure rates, rate limit breaches, suspicious activity
- SLO tracking - Service Level Objective monitoring
๐ Session Management Enhancements
- Cross-device sessions - Track active sessions per user
- Session revocation - Remotely terminate any session
- Session geolocation - Show login locations on map
- Device fingerprinting - Detect suspicious device changes
๐ Release Timeline
| Version | Features | Target Date |
|---|---|---|
| v1.0.0 | โ Current - Core authentication system | Released |
| v1.1.0 | ๐ 2FA + WebAuthn + IP Management | Q3 2026 |
| v2.0.0 | ๐ OAuth2/SSO + Webhooks + Admin Dashboard | Q4 2026 |
| v2.1.0 | ๐ Performance + Monitoring + Multi-session | Q1 2027 |
๐ณ๏ธ Feature Request
Have a feature in mind? Open an issue or start a discussion!
Priority is determined by community demand. โญ
๐ค Contributing
We welcome contributions! Areas needing help:
- ๐งช Unit tests (PHPUnit)
- ๐ Documentation improvements
- ๐ Translations (i18n)
- ๐ Additional OAuth providers
- ๐จ Admin dashboard UI (React/Vue)
See CONTRIBUTING.md for guidelines.
Stay updated: โญ Star the repo on GitHub to receive release notifications!
๐จ Visual Timeline
๐ Feature Comparison Table
| Feature | v1.0.0 | v1.1.0 | v2.0.0 | v2.1.0 |
|---|---|---|---|---|
| Core Auth | โ | โ | โ | โ |
| Rate Limiting | โ | โ | โ | โ |
| OTP Verification | โ | โ | โ | โ |
| Magic Link Recovery | โ | โ | โ | โ |
| VPN/Proxy Detection | โ | โ | โ | โ |
| Activity Logging | โ | โ | โ | โ |
| 2FA (TOTP) | โ | ๐ | โ | โ |
| WebAuthn/Passkeys | โ | ๐ | โ | โ |
| IP Whitelist/Blacklist | โ | ๐ | โ | โ |
| OAuth2/OpenID Connect | โ | โ | ๐ | โ |
| Social Login | โ | โ | ๐ | โ |
| Admin Dashboard | โ | โ | ๐ | โ |
| Webhooks | โ | โ | ๐ | โ |
| Multi-session Management | โ | โ | โ | ๐ |
| Performance Scaling | โ | โ | โ | ๐ |
๏ฟฝ๐ License
Vercodea Auth Core is open-source software licensed under the MIT License.
๏ฟฝ How It Works
Fully Automated Setup
- Install โ
composer require vercodea/auth-core - Configure โ Copy
.env.exampleto.env, fill in credentials - Initialize โ Call
AuthInit::init()once (creates all database tables) - Use โ Start calling
AuthInit::auth_login(),AuthInit::auth_register(), etc.
No manual SQL. No table creation. No MySQL CLI. Everything automatic.
๏ฟฝ๐ Resources & Support
- ๐ Documentation: Full Docs
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ฆ Package: Packagist
- ๐ Website: coming soon
๐ค Contributing
Contributions are welcome! Please read our Contributing Guidelines before submitting PRs.
Development Setup
๐ Support & Security
- Security Issues: [email protected] (please do not open public issues for security vulnerabilities)
- General Support: [email protected]
- Feature Requests: GitHub Discussions
๐ Why Vercodea Auth Core?
โจ Zero Configuration - Sensible defaults for all settings
โก Plug and Play - composer require โ configure .env โ AuthInit::init() โ done
๐ Enterprise Security - All security best practices built-in
๐ Production Ready - Used in production applications
๐ Complete Audit Trail - Every auth event logged
๐ Easy Integration - Simple API, one class to learn
๐ Status & Roadmap
Current Version: 1.0.0
โ Completed Features
- โ User registration with OTP
- โ User login with rate limiting
- โ Session management
- โ Password recovery with magic links
- โ VPN/proxy detection
- โ Activity logging
- โ Comprehensive input validation
๐ง Planned Features
- ๐ 2FA (Two-Factor Authentication)
- ๐ OAuth2 / OpenID Connect support
- ๐ Passwordless authentication (WebAuthn)
- ๐ Audit dashboard UI
- ๐ IP whitelist/blacklist management
- ๐ Webhook support for custom integrations
- ๐ Admin authentication system
Install โ Configure โ Init โ Use
That's all you need to do. Everything else is automated.
No manual SQL. No table creation. No MySQL CLI. 100% plug and play. ๐
Audit Trail - View project transparency and history
Made with โค๏ธ by Prince Uche
Admin ยท Author ยท Developer
Last Updated: June 14, 2026
All versions of auth-core with dependencies
ext-pdo Version *
ext-redis Version *
ext-curl Version *
ext-openssl Version *
ext-json Version *
vlucas/phpdotenv Version ^5.6