Skip to content
Snippets Groups Projects
Commit 41bc3dfa authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #13268 TIME 0:20 sso header + authUri

parent 8c5cf063
No related branches found
No related tags found
No related merge requests found
...@@ -40,10 +40,10 @@ class AuthenticationController ...@@ -40,10 +40,10 @@ class AuthenticationController
public function getInformations(Request $request, Response $response) public function getInformations(Request $request, Response $response)
{ {
$path = CoreConfigModel::getConfigPath(); $path = CoreConfigModel::getConfigPath();
$hashedPath = md5($path); $hashedPath = md5($path);
$appName = CoreConfigModel::getApplicationName(); $appName = CoreConfigModel::getApplicationName();
$parameter = ParameterModel::getById(['id' => 'loginpage_message', 'select' => ['param_value_string']]); $parameter = ParameterModel::getById(['id' => 'loginpage_message', 'select' => ['param_value_string']]);
$encryptKey = CoreConfigModel::getEncryptKey(); $encryptKey = CoreConfigModel::getEncryptKey();
...@@ -52,19 +52,19 @@ class AuthenticationController ...@@ -52,19 +52,19 @@ class AuthenticationController
$authUri = null; $authUri = null;
if ($loggingMethod['id'] == 'cas') { if ($loggingMethod['id'] == 'cas') {
$casConfiguration = CoreConfigModel::getXmlLoaded(['path' => 'apps/maarch_entreprise/xml/cas_config.xml']); $casConfiguration = CoreConfigModel::getXmlLoaded(['path' => 'apps/maarch_entreprise/xml/cas_config.xml']);
$hostname = (string)$casConfiguration->WEB_CAS_URL; $hostname = (string)$casConfiguration->WEB_CAS_URL;
$port = (string)$casConfiguration->WEB_CAS_PORT; $port = (string)$casConfiguration->WEB_CAS_PORT;
$uri = (string)$casConfiguration->WEB_CAS_CONTEXT; $uri = (string)$casConfiguration->WEB_CAS_CONTEXT;
$authUri = "https://{$hostname}:{$port}{$uri}/login?service=" . UrlController::getCoreUrl() . 'dist/index.html#/login'; $authUri = "https://{$hostname}:{$port}{$uri}/login?service=" . UrlController::getCoreUrl() . 'dist/index.html#/login';
} elseif ($loggingMethod['id'] == 'keycloak') { } elseif ($loggingMethod['id'] == 'keycloak') {
$keycloakConfig = CoreConfigModel::getKeycloakConfiguration(); $keycloakConfig = CoreConfigModel::getKeycloakConfiguration();
$provider = new Keycloak($keycloakConfig); $provider = new Keycloak($keycloakConfig);
$authUri = $provider->getAuthorizationUrl(['scope' => $keycloakConfig['scope']]); $authUri = $provider->getAuthorizationUrl(['scope' => $keycloakConfig['scope']]);
$keycloakState = $provider->getState(); $keycloakState = $provider->getState();
} elseif ($loggingMethod['id'] == 'sso') { } elseif ($loggingMethod['id'] == 'sso') {
$ssoConfiguration = ConfigurationModel::getByPrivilege(['privilege' => 'admin_sso', 'select' => ['value']]); $ssoConfiguration = ConfigurationModel::getByPrivilege(['privilege' => 'admin_sso', 'select' => ['value']]);
$ssoConfiguration = !empty($ssoConfiguration['value']) ? json_decode($ssoConfiguration['value'], true) : null; $ssoConfiguration = !empty($ssoConfiguration['value']) ? json_decode($ssoConfiguration['value'], true) : null;
$authUri = $ssoConfiguration['value']['uri'] ?? null; $authUri = $ssoConfiguration['url'] ?? null;
} }
$return = [ $return = [
...@@ -516,7 +516,7 @@ class AuthenticationController ...@@ -516,7 +516,7 @@ class AuthenticationController
return ['errors' => 'Sso configuration missing : no login mapping']; return ['errors' => 'Sso configuration missing : no login mapping'];
} }
$login = $_SERVER[$mapping['login']]; $login = $_SERVER['HTTP_' . strtoupper($mapping['login'])];
if (empty($login)) { if (empty($login)) {
return ['errors' => 'Authentication Failed : login not present in header']; return ['errors' => 'Authentication Failed : login not present in header'];
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment