All Projects → JonTheWong → whmcs_autoauth

JonTheWong / whmcs_autoauth

Licence: other
Automatic authentication via link in WHMCS template emails.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to whmcs autoauth

awesome-emails
List of tools, articles and videos about email design and development
Stars: ✭ 19 (-24%)
Mutual labels:  email-template
slurm-mail
Slurm-Mail is a drop in replacement for Slurm's e-mails to give users much more information about their jobs compared to the standard Slurm e-mails.
Stars: ✭ 47 (+88%)
Mutual labels:  email-template
bulk-email-sender
Send Templatized Dynamic Emails Automatically
Stars: ✭ 30 (+20%)
Mutual labels:  email-template
rss-to-email
Generate HTML emails from your RSS feeds.
Stars: ✭ 92 (+268%)
Mutual labels:  email-template
WHMCS-Action-Hook-Factory
Free collection of Action Hooks, Reports and Modules to perfect your WHMCS
Stars: ✭ 120 (+380%)
Mutual labels:  whmcs
laravel-whmcs-up
WHMCS API client and user provider for Laravel
Stars: ✭ 22 (-12%)
Mutual labels:  whmcs
responsive-html-email-templates
Collection of Free responsive HTML templates for Startups
Stars: ✭ 187 (+648%)
Mutual labels:  email-template
email-framework
A simple, gulp powered framework to develop and test responsive emails.
Stars: ✭ 19 (-24%)
Mutual labels:  email-template
pechkin
📮 «Печкин» помогает быстро начать вёрстку писем
Stars: ✭ 18 (-28%)
Mutual labels:  email-template
SolusVM-Premium-For-WHMCS
NeWorld SolusVM Premium Server Module For WHMCS
Stars: ✭ 20 (-20%)
Mutual labels:  whmcs
express mailer
An easy way to send yourself or your team emails about what happens in your rails application
Stars: ✭ 20 (-20%)
Mutual labels:  email-template
mail-template
💌 This package is a easy to use mail template collection for Laravel 5.x.
Stars: ✭ 18 (-28%)
Mutual labels:  email-template
whmcs-vultr
Vultr Module for WHMCS
Stars: ✭ 86 (+244%)
Mutual labels:  whmcs
WHMCS-Discord-Notifications
A hook to push a range of different WHMCS notifications instantly to a Discord channel.
Stars: ✭ 52 (+108%)
Mutual labels:  whmcs
PUQ WHMCS-Public-Nextcloud
Module for the WHMCS system. For manage NextCloud users as a product.
Stars: ✭ 17 (-32%)
Mutual labels:  whmcs
SHOUTcast-Manager
[DEPRECATED] NO LONGER MAINTAINED - A PHP SHOUTcast hosting tool with support for PHP 5.x & 7.x with SHOUTcast v1 & v2)
Stars: ✭ 24 (-4%)
Mutual labels:  whmcs
starter-email-template
A skeleton HTML template of essential design patterns for accessible, responsive emails
Stars: ✭ 28 (+12%)
Mutual labels:  email-template
whmcs
WHMCS Module for Pterodactyl (v0.7.3 and higher)
Stars: ✭ 127 (+408%)
Mutual labels:  whmcs
email-signature
My E-mail Signature
Stars: ✭ 34 (+36%)
Mutual labels:  email-template
wp-better-emails
Adds a customizable good looking HTML template to all WP default plain/text emails and lets you set a custom sender name and email address.
Stars: ✭ 41 (+64%)
Mutual labels:  email-template

WHMCS Auto Authentication

By JonTheWong from Zenith Media Canada

zenithmedia.ca

Intro

This script was made to allow end users of WHMCS to login to their accounts automatically. You would add the provided code into your email templates and create a temporary link for your clients to access their invoices, quotes and general login.

Script was created with the help of Serg & McGuyver and the great documentation of WHMCS - AutoAuth & WHMCS - Security Policy

Confirmed working with WHMCS

We have tested this script with the following versions.

Installation

To install this script you need to place all files in your root directory of WHMCS

example: /home/user/public_html/domain/whmcs/

Generate a hash and enter it in configuration.php above the last ?>

$autoauthkey = "REPLACE-WITH-SYSTEM-KEY";

Also include it into the script.

You can generate a hash using; openssl rand -hex 32 on linux.

Then add this value to the top of your email template;

{assign var='hash' value=$client_email|cat:"REPLACE-THIS-PART-WITH-SECRET-KEY"}

Then add this link anywhere in your email template.

Login Auth: {$whmcs_url}lauth.php?email={$client_email}&zmkey={$hash|md5}

Invoice Auth: {$whmcs_url}iauth.php?email={$client_email}&invoice={$invoice_id}&zmkey={$hash|md5}

Quote Auth: {$whmcs_url}qauth.php?email={$client_email}&quote={$quote_number}&zmkey={$zmkey|md5}

Notes

Quick note for version 7+

Due to security settings, you have to modify configuration.php and add the following code to the bottom, above the last ?>

$smarty_security_policy = array(
    'mail' => array(
        'php_modifiers' => array(
            'md5',
            'time',
            'sha1',
            'urlencode',
            'header',
        ),
    ),
);

Known Bugs

Additional information according to WHMCS documentation.

The timestamp must be within 15 minutes of the server time for the autoauth to be accepted, otherwise the link is considered to be expired

Based on my testing the links do no expire.

Based on the above code, when we make a request using the l/i/qauth.php links it redirects to the $url and that generates a new timestamp + hash. But this does not expire? How can it expire if the hash is based on a timestamp, changing it every time.

The initial email+secretkey hash is constant.. include timestamp in that generation?

&timestamp={time()} is possible with above security policy.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].