protected function SamlService::getSamlAuth in SAML Authentication 4.x
Same name and namespace in other branches
- 8.3 src/SamlService.php \Drupal\samlauth\SamlService::getSamlAuth()
- 8.2 src/SamlService.php \Drupal\samlauth\SamlService::getSamlAuth()
Returns an initialized Auth class from the SAML Toolkit.
Parameters
string $purpose: (Optional) purpose for the config: 'metadata' / 'login' / 'acs' / 'logout' / 'sls-request' / 'sls-response'. Empty string means 'any', but likely shouldn't be used anywhere. (The way many callers hardcode this argument may seem strange, until you realize that _these callers_ only have one possible purpose too, in practice. This is almost sure to be refactored away in a future version.)
2 calls to SamlService::getSamlAuth()
- SamlService::acs in src/
SamlService.php - Processes a SAML response (Assertion Consumer Service).
- SamlService::processLoginResponse in src/
SamlService.php - Processes a SAML authentication response; throws an exception if invalid.
File
- src/
SamlService.php, line 815
Class
- SamlService
- Governs communication between the SAML toolkit and the IdP / login behavior.
Namespace
Drupal\samlauthCode
protected function getSamlAuth($purpose = '') {
if (!isset($this->samlAuth[$purpose])) {
$base_url = '';
$config = $this->configFactory
->get('samlauth.authentication');
if ($config
->get('use_base_url')) {
$request = $this->requestStack
->getCurrentRequest();
// The 'base url' for the SAML Toolkit is apparently 'all except the
// last part of the endpoint URLs'. (Whoever wants a better explanation
// can try to extract it from e.g. Utils::getSelfRoutedURLNoQuery().)
$base_url = $request
->getSchemeAndHttpHost() . $request
->getBaseUrl() . '/saml';
}
$this->samlAuth[$purpose] = new Auth(static::reformatConfig($config, $base_url, $purpose, $this->keyRepository));
}
return $this->samlAuth[$purpose];
}