From ad1788a3eee523558b61125156a3ff30419b705d Mon Sep 17 00:00:00 2001 From: Dario Rekowski on RockPI Date: Thu, 11 Jun 2020 11:12:52 +0000 Subject: [PATCH] add optional login server url to use forwarded url for example by using forwarding domain for dynamicDNS --- src/Controller/AppController.php | 18 ++++++++++++++---- src/Controller/StateUsersController.php | 2 +- .../TransactionCreationsController.php | 8 ++++---- .../TransactionSendCoinsController.php | 4 ++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/Controller/AppController.php b/src/Controller/AppController.php index fc948cf16..10433c467 100644 --- a/src/Controller/AppController.php +++ b/src/Controller/AppController.php @@ -33,7 +33,8 @@ use Cake\I18n\I18n; */ class AppController extends Controller { - + + var $loginServerUrl = ''; /** * Initialization hook method. * @@ -128,6 +129,15 @@ class AppController extends Controller if($this->Auth->user('id')) { $GLOBALS['ServerUser'] = $this->Auth->user(); } + + // login server url + $loginServer = Configure::read('LoginServer'); + if($loginServer && isset($loginServer['url'])) { + $this->loginServerUrl = $loginServer['url'] . '/'; + } else { + $this->loginServerUrl = Router::url('/', true); + } + } @@ -221,7 +231,7 @@ class AppController extends Controller // we haven't get a pubkey? something seems to gone wrong on the login-server $this->Flash->error(__('no pubkey')); //var_dump($json); - return $this->redirect(Router::url('/', true) . 'account/error500/noPubkey', 303); + return $this->redirect($this->loginServerUrl . 'account/error500/noPubkey', 303); } } else { if($json['state'] === 'not found' ) { @@ -229,7 +239,7 @@ class AppController extends Controller } else { $this->Flash->error(__('Konto ist nicht aktiviert!')); } - return $this->redirect(Router::url('/', true) . 'account/', 303); + return $this->redirect($this->loginServerUrl . 'account/', 303); } } } catch(\Exception $e) { @@ -244,7 +254,7 @@ class AppController extends Controller if(isset($loginServer['path'])) { return $this->redirect($loginServer['path'], 303); } else { - return $this->redirect(Router::url('/', true) . 'account/', 303); + return $this->redirect($this->loginServerUrl . 'account/', 303); } } return true; diff --git a/src/Controller/StateUsersController.php b/src/Controller/StateUsersController.php index b24e1e7bb..958f09ba0 100644 --- a/src/Controller/StateUsersController.php +++ b/src/Controller/StateUsersController.php @@ -109,7 +109,7 @@ class StateUsersController extends AppController if($dataJson['state'] != 'success') { if($dataJson['msg'] == 'session not found') { $session->destroy(); - return $this->redirect(Router::url('/', true) . 'account', 303); + return $this->redirect($this->loginServerUrl . 'account', 303); } } //var_dump($dataJson); diff --git a/src/Controller/TransactionCreationsController.php b/src/Controller/TransactionCreationsController.php index 745b63ef0..856b61989 100644 --- a/src/Controller/TransactionCreationsController.php +++ b/src/Controller/TransactionCreationsController.php @@ -151,7 +151,7 @@ class TransactionCreationsController extends AppController if($json['state'] != 'success') { if($json['msg'] == 'session not found') { $session->destroy(); - return $this->redirect(Router::url('/', true) . 'account', 303); + return $this->redirect($this->loginServerUrl . 'account', 303); } else { $this->addAdminError('TransactionCreations', 'create', $json, $user['id']); $this->Flash->error(__('Login Server Error, please wait for the admin to fix it')); @@ -166,7 +166,7 @@ class TransactionCreationsController extends AppController $session->write('Transactions.pending', $pendingTransactionCount); //echo "pending: " . $pendingTransactionCount; if($mode === 'next') { - return $this->redirect(Router::url('/', true) . 'account/checkTransactions', 303); + return $this->redirect($this->loginServerUrl . 'account/checkTransactions', 303); } else { $this->Flash->success(__('Transaction submitted for review.')); } @@ -392,7 +392,7 @@ class TransactionCreationsController extends AppController if($json['state'] != 'success') { if($json['msg'] == 'session not found') { $session->destroy(); - return $this->redirect(Router::url('/', true) . 'account', 303); + return $this->redirect($this->loginServerUrl . 'account', 303); } else { $this->addAdminError('TransactionCreations', 'createMulti', $json, $user['id']); $this->Flash->error(__('Login Server Error, please wait for the admin to fix it')); @@ -407,7 +407,7 @@ class TransactionCreationsController extends AppController $session->write('Transactions.pending', $pendingTransactionCount); //echo "pending: " . $pendingTransactionCount; if($mode === 'next') { - return $this->redirect(Router::url('/', true) . 'account/checkTransactions', 303); + return $this->redirect($this->loginServerUrl . 'account/checkTransactions', 303); } else { $this->Flash->success(__('Transaction submitted for review.')); } diff --git a/src/Controller/TransactionSendCoinsController.php b/src/Controller/TransactionSendCoinsController.php index 51a5237de..03c885db1 100644 --- a/src/Controller/TransactionSendCoinsController.php +++ b/src/Controller/TransactionSendCoinsController.php @@ -244,7 +244,7 @@ class TransactionSendCoinsController extends AppController if($json['state'] != 'success') { if($json['msg'] == 'session not found') { $session->destroy(); - return $this->redirect(Router::url('/', true) . 'account', 303); + return $this->redirect($this->loginServerUrl . 'account', 303); //$this->Flash->error(__('session not found, please login again')); } else { $this->Flash->error(__('login server return error: ' . json_encode($json))); @@ -259,7 +259,7 @@ class TransactionSendCoinsController extends AppController $session->write('Transactions.pending', $pendingTransactionCount); //echo "pending: " . $pendingTransactionCount; if($mode === 'next') { - return $this->redirect(Router::url('/', true) . 'account/checkTransactions', 303); + return $this->redirect($this->loginServerUrl . 'account/checkTransactions', 303); } else { $this->Flash->success(__('Transaction submitted for review.')); }