X-Git-Url: https://git-public.kairo.at/?p=authserver.git;a=blobdiff_plain;f=app%2Fauthsystem.inc.php;h=0cf7db2c41ab0d90a79e865f1b750d16e606fa23;hp=068fb2fadae62ed8fa6fa40b519f634d60a10880;hb=7165d4fd908dc7b40270731fa9f099a3f6fda6e1;hpb=9cab985cf8d73f719cd7efc2838ce2e107b45b21 diff --git a/app/authsystem.inc.php b/app/authsystem.inc.php index 068fb2f..0cf7db2 100644 --- a/app/authsystem.inc.php +++ b/app/authsystem.inc.php @@ -13,72 +13,34 @@ // error reporting (for testing) ini_set('display_errors', 1); error_reporting(E_ALL); -// Read DB settings -$dbdata = json_decode(file_get_contents('/etc/kairo/auth_db.json'), true); -if (!is_array($dbdata)) { trigger_error('DB configuration not found', E_USER_ERROR); } -$settings = json_decode(file_get_contents('/etc/kairo/auth_settings.json'), true); -if (!is_array($settings)) { trigger_error('Auth settings not found', E_USER_ERROR); } - // Extended DOM document class -require_once('../kairo-utils/document.php-class'); -// Class for sending emails -require_once('../kairo-utils/email.php-class'); +require_once(__DIR__.'/../php-utility-classes/classes/document.php-class'); // Class for sending emails +require_once(__DIR__.'/../php-utility-classes/classes/email.php-class'); +// Composer-provided libraries (oauth2-server-php, doctrine DBAL) +require_once(__DIR__.'/../vendor/autoload.php'); +// Authentication utilities require_once(__DIR__.'/authutils.php-class'); - -// Connect to our MySQL DB -$db = new PDO($dbdata['dsn'], $dbdata['username'], $dbdata['password']); -// Instantiate auth utils. -$utils = new AuthUtils($settings, $db); - -// This is an array of locale tags in browser style mapping to unix system locale codes to use with gettext. -$supported_locales = array( - 'en-US' => 'en_US', - 'de' => 'de_DE', -); - -$textdomain = 'kairo_auth'; -$textlocale = $utils->negotiateLocale(array_keys($supported_locales)); -putenv('LC_ALL='.$supported_locales[$textlocale]); -$selectedlocale = setlocale(LC_ALL, $supported_locales[$textlocale]); -bindtextdomain($textdomain, '../locale'); -bind_textdomain_codeset($textdomain, 'utf-8'); -textdomain($textdomain); - -/* Creating the DB tables: -CREATE TABLE `auth_sessions` ( - `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT , - `sesskey` VARCHAR(150) NOT NULL DEFAULT '' , - `user` MEDIUMINT UNSIGNED NULL DEFAULT NULL , - `logged_in` BOOLEAN NOT NULL DEFAULT FALSE , - `time_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , - `time_expire` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , - `saved_redirect` VARCHAR(255) NOT NULL DEFAULT '' , - PRIMARY KEY (`id`), - INDEX (`sesskey`), - INDEX (`time_expire`) -); -CREATE TABLE `auth_users` ( - `id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT , - `email` VARCHAR(255) NOT NULL , - `pwdhash` VARCHAR(255) NOT NULL , - `status` ENUM('unverified','ok') NOT NULL DEFAULT 'unverified' , - `verify_hash` VARCHAR(150) NULL DEFAULT NULL , - `group_id` MEDIUMINT UNSIGNED DEFAULT '0' , - PRIMARY KEY (`id`), - UNIQUE (`email`) -); -CREATE TABLE `auth_log` ( - `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT , - `code` VARCHAR(100) NOT NULL , - `info` TEXT NULL DEFAULT NULL , - `ip_addr` VARCHAR(50) NULL DEFAULT NULL , - `time_logged` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , - PRIMARY KEY (`id`), - INDEX (`time_logged`) -); -*/ - -// include our OAuth2 Server object -require_once(__DIR__.'/server.inc.php'); +// Instantiate server utils. +try { + $utils = new AuthUtils(); + $db = $utils->db; + $settings = $utils->settings; +} +catch (Exception $e) { + $utils = null; + print('Failed to set up utilities: '.$e->getMessage()); + exit(1); +} + +$utils->setUpL10n(); + +// Sanitize settings. +$settings['piwik_enabled'] = (@$settings['piwik_enabled']) ? true : false; +$settings['piwik_site_id'] = intval(@$settings['piwik_site_id']); +$settings['piwik_url'] = strlen(@$settings['piwik_url']) ? $settings['piwik_url'] : '/piwik/'; +$settings['piwik_tracker_path'] = strlen(@$settings['piwik_tracker_path']) ? $settings['piwik_tracker_path'] : '../vendor/piwik/piwik-php-tracker/'; + +// Set up our OAuth2 Server object +$server = $utils->getOAuthServer(); ?>