Initial commit of unified WebGIS projects
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
// Load environment from project root .env if present, then read API_KEY
|
||||
function load_dotenv($path){
|
||||
if(!file_exists($path)) return;
|
||||
$lines = file($path, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
|
||||
foreach($lines as $line){
|
||||
if(trim($line)==='' || strpos(trim($line),'#')===0) continue;
|
||||
if(strpos($line,'=')===false) continue;
|
||||
list($k,$v) = explode('=', $line, 2);
|
||||
$k = trim($k); $v = trim($v);
|
||||
// strip optional quotes
|
||||
if((substr($v,0,1)==='"' && substr($v,-1)==='"') || (substr($v,0,1)==="'" && substr($v,-1)==="'")){
|
||||
$v = substr($v,1,-1);
|
||||
}
|
||||
putenv("$k=$v");
|
||||
$_ENV[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
$envPath = realpath(__DIR__ . '/../../.env');
|
||||
if($envPath){ load_dotenv($envPath); }
|
||||
|
||||
$apiKey = getenv('API_KEY');
|
||||
if(!$apiKey) {
|
||||
// fallback (development) - but prefer .env or system env in production
|
||||
$apiKey = '8f3b7e6a9c4d2f1a6b8c9d0e4f7a1b2c';
|
||||
}
|
||||
define('API_KEY', $apiKey);
|
||||
|
||||
$jwtSecret = getenv('JWT_SECRET');
|
||||
if(!$jwtSecret) {
|
||||
$jwtSecret = hash('sha256', $apiKey . ':jwt');
|
||||
}
|
||||
define('JWT_SECRET', $jwtSecret);
|
||||
|
||||
$internalKey = getenv('INTERNAL_AUTH_KEY');
|
||||
if(!$internalKey) {
|
||||
$internalKey = hash('sha256', $apiKey . ':internal');
|
||||
}
|
||||
define('INTERNAL_AUTH_KEY', $internalKey);
|
||||
|
||||
$basicApiUser = getenv('BASIC_API_USER');
|
||||
if(!$basicApiUser) { $basicApiUser = 'webgis-api'; }
|
||||
define('BASIC_API_USER', $basicApiUser);
|
||||
|
||||
$basicApiPass = getenv('BASIC_API_PASS');
|
||||
if(!$basicApiPass) { $basicApiPass = hash('sha256', $apiKey . ':basic'); }
|
||||
define('BASIC_API_PASS', $basicApiPass);
|
||||
?>
|
||||
Reference in New Issue
Block a user