Corrected static exception message to dynamic message
This commit is contained in:
parent
95980727af
commit
afd134659b
@ -1,10 +1,10 @@
|
||||
<?php
|
||||
|
||||
$confFile = '../lucidAuth.config.php';
|
||||
if (!file_exists($confFile)) {
|
||||
throw 'Missing config file. Please rename lucidAuth.config.php.example to lucidAuth.config.php and edit it to reflect your setup.' . PHP_EOL;
|
||||
$configurationFile = '../lucidAuth.config.php';
|
||||
if (!file_exists($configurationFile)) {
|
||||
throw new Exception(sprintf('Missing config file. Please rename \'%1$s.example\' to \'%1$s\' and edit it to reflect your setup.', explode('../', $configurationFile)[1]));
|
||||
}
|
||||
$settings = include_once('../lucidAuth.config.php');
|
||||
$settings = include_once($configurationFile);
|
||||
|
||||
function authenticateLDAP (string $username, string $password) {
|
||||
global $settings;
|
||||
@ -15,19 +15,19 @@ function authenticateLDAP (string $username, string $password) {
|
||||
$ds = ldap_connect($settings->LDAP['Server'], $settings->LDAP['Port']);
|
||||
|
||||
// Strict namingconvention: only allow alphabetic characters
|
||||
$strGivenname = preg_replace('([^a-zA-Z]*)', '', $_POST['username']);
|
||||
$strUsername = $settings->LDAP['Domain'] . '\\' . $strGivenname;
|
||||
$sanitizedUsername = preg_replace('([^a-zA-Z]*)', '', $_POST['username']);
|
||||
$qualifiedUsername = $settings->LDAP['Domain'] . '\\' . $sanitizedUsername;
|
||||
|
||||
if (@ldap_bind($ds, $strUsername, utf8_encode($_POST['password']))) {
|
||||
// Successful auth; get additional userdetails from Active Directory
|
||||
$ldapSearchResults = ldap_search($ds, $settings->LDAP['BaseDN'], "sAMAccountName=$strGivenname");
|
||||
$strFullname = ldap_get_entries($ds, $ldapSearchResults)[0]['cn'][0];
|
||||
if (@ldap_bind($ds, $qualifiedUsername, utf8_encode($_POST['password']))) {
|
||||
// Successful authentication; get additional userdetails from authenticationsource
|
||||
$ldapSearchResults = ldap_search($ds, $settings->LDAP['BaseDN'], "sAMAccountName=$sanitizedUsername");
|
||||
$commonName = ldap_get_entries($ds, $ldapSearchResults)[0]['cn'][0];
|
||||
// Create JWT-payload
|
||||
$jwtPayload = [
|
||||
'iat' => time(), // Issued at: time when the token was generated
|
||||
'iss' => $_SERVER['SERVER_NAME'], // Issuer
|
||||
'sub' => $strGivenname, // Subject (ie. username)
|
||||
'name' => $strFullname // Full name (as retrieved from AD)
|
||||
'sub' => $qualifiedUsername, // Subject (ie. username)
|
||||
'name' => $commonName // Common name (as retrieved from AD)
|
||||
];
|
||||
|
||||
$secureToken = JWT::encode($jwtPayload, base64_decode($settings->JWT['PrivateKey_base64']));
|
||||
|
Loading…
Reference in New Issue
Block a user