Token authentication

From MiRTA PBX documentation
Revision as of 14:41, 3 August 2025 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

If you like to integrate MiRTA PBX in your portal and you like to have a single authentication, you can create a token with the username and password for the user and pass to the login.php script.

 <?php
 $key='*******';
 
 $credentials['username']='*****';
 $credentials['password']='*****';
 
 $keyHash = hash('sha256', $key, true);
 $iv = substr($keyHash, 0, 16);
 
 define('AES_256_CBC', 'aes-256-cbc');
 
 $token=base64_encode(openssl_encrypt(json_encode($credentials), AES_256_CBC, $keyHash, OPENSSL_RAW_DATA, $iv));
 
 $decoded=openssl_decrypt(base64_decode($token),AES_256_CBC,$keyHash,OPENSSL_RAW_DATA, $iv);
 
 error_log($token);
 error_log($decoded);
 
 ?>

The generated token can be passed to the login.php via GET or POST as parameter token

https://demo.mirtapbx.com/mirtapbx/login.php?token=IregEGKx5JyDV6y1Jugm3UBickltAKFovkmGINhMNxmXBmMU3IMxPGGhLcXfpRpQ