Skip to content

AuthVaultix/AuthVaultix-PHP-Example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AuthVaultix Logo

AuthVaultix PHP Example

A complete, ready-to-use PHP integration example for the AuthVaultix authentication platform.

PHP AuthVaultix License Discord


πŸ“– Overview

This repository provides a plug-and-play PHP example demonstrating how to integrate the AuthVaultix authentication API into your PHP web application. It includes:

  • πŸ” Login β€” Authenticate users with username & password (+ optional 2FA)
  • πŸ“ Register β€” Create new accounts with a license key
  • πŸ”‘ License Login β€” Access the app using only a license key
  • πŸ“Š Dashboard β€” A protected page that displays user session info, subscriptions & expiry dates
  • πŸšͺ Logout β€” Securely terminate sessions via the API

Built with a modern, responsive UI using Tailwind CSS and Inter font β€” looks great on all screen sizes.


πŸ—‚οΈ Project Structure

authvaultix-php-example/
β”œβ”€β”€ index.php           # Login / Register / License page (public)
β”œβ”€β”€ authvaultix.php     # AuthVaultix PHP API wrapper (core library)
β”œβ”€β”€ credentials.php     # Parses .env and sets up credentials
β”œβ”€β”€ .env                # Your app credentials (name, ownerid, secret, version)
β”œβ”€β”€ logo.webp           # Local app logo to bypass hotlink protection
└── dashboard/
    └── index.php       # Protected dashboard (requires authentication)

⚑ Quick Start

1. Prerequisites

  • PHP 7.4 or higher
  • curl PHP extension enabled
  • A web server (Apache / Nginx) or PHP's built-in server
  • An AuthVaultix account β†’ Register here

2. Clone the Repository

git clone https://github.com/AuthVaultix/AuthVaultix-PHP-Example.git
cd AuthVaultix-PHP-Example

3. Configure Your Credentials

Create a .env file in the root directory and fill in your application details from the AuthVaultix Dashboard:

APP_NAME=YourAppName
OWNER_ID=your_owner_id
SECRET=your_secret
VERSION=your_version

⚠️ Never commit real credentials to a public repository.
Add .env to your .gitignore file.

4. Run Locally

php -S localhost/[Project-name]

Then open http://localhost/[Project-name] in your browser. & you can use XAMP server too. XAMP server location is C:/xampp/htdocs. Copy the project folder to the htdocs folder & run http://localhost/[Project-name]/ in your browser.


🧩 API Wrapper Usage

The authvaultix.php file contains the AuthVaultix\api class. Here's how to use it in your own project:

Initialize

<?php
include 'authvaultix.php';
include 'credentials.php';

$app = new AuthVaultix\AuthVaultixClient($name, $ownerid, $secret, $version);
$app->init(); // Must be called before any other method

Login

$success = $app->login($username, $password);


if ($success) {
    // $_SESSION['user_data'] is now populated
    header("Location: dashboard/");
}

Register

$success = $app->register($username, $password, $licenseKey);

if (!$success) {
    echo $app->lastError; // Display the error message
}

License Login

$success = $app->license($licenseKey);

Logout

$app->logout();
session_destroy();
header("Location: ../");

Check Subscription

function findSubscription($name, $subscriptions) {
    foreach ($subscriptions as $sub) {
        if ($sub->subscription === $name) return true;
    }
    return false;
}

$subs = $_SESSION['user_data']['subscriptions'];

if (findSubscription("premium", $subs)) {
    echo "User has Premium access!";
}

πŸ“– API Reference

Authentication & Session

Method Description
init() Initializes the session with the API.
login($user, $pass, $code?) Authenticates a user. $code is for optional 2FA.
register($user, $pass, $key, $email?) Registers a new user.
license($key, $code?) Authenticates directly via license key.
check() Validates the current session.
logout() Terminates session and destroys user data.

Account Management

Method Description
upgrade($user, $license) Upgrades user's subscription.
forgot_password($user, $email) Triggers a password reset.
change_username($new_username) Changes the current user's username.

Security & Blacklist

Method Description
ban($reason) Bans the currently authenticated user.
check_blacklist() Checks if the current machine is blacklisted.
log($message) Sends a log message to the dashboard.

Variables & Data

Method Description
get_global_var($var_key) Fetches a global server variable.
get_var($var_name) Fetches a user-specific variable.
set_var($var_name, $value) Sets a user-specific variable.
download($fileid) Securely downloads a file (returns base64 decoded).

Communication

Method Description
fetch_online() Retrieves a list of online clients.
chat_send($msg, $channel) Sends a chat message.
chat_fetch($channel) Fetches chat history for a channel.

Note: For any method that fails, check the $app->lastError property for the error message.


πŸ–₯️ Screenshots

Login Page

Split-layout design with a dark branding panel and a glassmorphism form card with animated gradient orbs.

Dashboard

Dark-themed protected dashboard showing username, IP address (blur-to-reveal), account creation date, last login time, and active subscriptions with expiry dates.


πŸ”’ Security Notes

Concern Recommendation
.env file Add to .gitignore β€” never expose .env secrets
SSL Verification Enable CURLOPT_SSL_VERIFYPEER in production
Session Handling Use HTTPS in production to protect session cookies
Error Display Disable display_errors in production (ini_set('display_errors', 0))

πŸ› οΈ Customization

  • Branding: Replace the logo.webp file with your own logo asset
  • Styling: The UI uses Tailwind CSS via CDN β€” swap for a local build for production
  • Subscription Tiers: Edit the findSubscription() call in dashboard/index.php to check for your specific subscription level names

πŸ“¦ Dependencies

Library Version Purpose
Tailwind CSS CDN UI styling
Inter Font Google Fonts Typography
Bootstrap Icons 1.11.1 Icons
AuthVaultix API 1.0 Authentication

🀝 Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the repository
  2. Create a new branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'Add my feature'
  4. Push to the branch: git push origin feature/my-feature
  5. Open a Pull Request

πŸ’¬ Support


πŸ“„ License

This project is licensed under the MIT License β€” feel free to use, modify, and distribute it.


Made with ❀️ using AuthVaultix

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages