public function miniorange_samlController::saml_login in SAML SP 2.0 Single Sign On (SSO) - SAML Service Provider 8
3 calls to miniorange_samlController::saml_login()
- miniorange_samlController::saml_request in src/
Controller/ miniorange_samlController.php - miniorange_samlController::saml_response_generator in src/
Controller/ miniorange_samlController.php - miniorange_samlController::test_configuration in src/
Controller/ miniorange_samlController.php - Test configuration callback
1 string reference to 'miniorange_samlController::saml_login'
File
- src/
Controller/ miniorange_samlController.php, line 102 - Contains \Drupal\miniorange_saml\Controller\DefaultController.
Class
- miniorange_samlController
- Default controller for the miniorange_saml module.
Namespace
Drupal\miniorange_saml\ControllerCode
public function saml_login($relay_state = "") {
$base_url = Utilities::getBaseUrl();
Utilities::is_sp_configured();
$issuer = Utilities::getIssuer();
$saml_login_url = $base_url . '/samllogin';
if (empty($relay_state) || $relay_state == $saml_login_url) {
$relay_state = $_SERVER['HTTP_REFERER'];
}
if (empty($relay_state) && isset($_SERVER['HTTP_HOST']) && isset($_SERVER['REQUEST_URI'])) {
$pre = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
$url = $pre . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$relay_state = $url;
}
if (empty($relay_state) || $relay_state == $saml_login_url) {
$relay_state = $base_url;
}
$acs_url = Utilities::getAcsUrl();
$sso_url = \Drupal::config('miniorange_saml.settings')
->get('miniorange_saml_idp_login_url');
$nameid_format = \Drupal::config('miniorange_saml.settings')
->get('miniorange_saml_nameid_format');
$authn_request = new MiniOrangeAuthnRequest();
$redirect = $authn_request
->initiateLogin($acs_url, $sso_url, $issuer, $nameid_format, $relay_state);
$response = new RedirectResponse($redirect);
$response
->send();
return new Response();
}