X-Git-Url: https://git-public.kairo.at/?a=blobdiff_plain;f=app%2Fauthsystem.inc.php;h=0cf7db2c41ab0d90a79e865f1b750d16e606fa23;hb=7165d4fd908dc7b40270731fa9f099a3f6fda6e1;hp=6e30200293422d7fa3dd9fd5c26d6c7669649b1c;hpb=7d51fe69654d1997f4f48eb7b928c5352da8eb63;p=authserver.git diff --git a/app/authsystem.inc.php b/app/authsystem.inc.php index 6e30200..0cf7db2 100644 --- a/app/authsystem.inc.php +++ b/app/authsystem.inc.php @@ -13,61 +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'); - -bindtextdomain('kairo_auth', 'en'); // XXX: Should negotiate locale. -bind_textdomain_codeset('kairo_auth', 'utf-8'); - -// Connect to our MySQL DB -$db = new PDO($dbdata['dsn'], $dbdata['username'], $dbdata['password']); -// Instantiate auth utils. -$utils = new AuthUtils($settings, $db); - -/* 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(); ?>