summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaime Perez Crespo <jaime.perez@uninett.no>2015-08-30 18:41:57 +0200
committerJaime Perez Crespo <jaime.perez@uninett.no>2015-08-30 18:41:57 +0200
commita72da2e3d9a575ab0e09c0e8f656ae6f0007b9e1 (patch)
tree033b2e2face30c547bec5e71ea18c299b8ccfb89
parent83e18ffb0d7684f02e51400e35884efddc9f879f (diff)
downloadsimplesamlphp-a72da2e3d9a575ab0e09c0e8f656ae6f0007b9e1.zip
simplesamlphp-a72da2e3d9a575ab0e09c0e8f656ae6f0007b9e1.tar.gz
simplesamlphp-a72da2e3d9a575ab0e09c0e8f656ae6f0007b9e1.tar.bz2
Reformat sspmod_saml_Auth_Process_PersistentNameID and fix some phpdoc comments.
-rw-r--r--modules/saml/lib/Auth/Process/PersistentNameID.php130
1 files changed, 71 insertions, 59 deletions
diff --git a/modules/saml/lib/Auth/Process/PersistentNameID.php b/modules/saml/lib/Auth/Process/PersistentNameID.php
index 255764f..0ef4f47 100644
--- a/modules/saml/lib/Auth/Process/PersistentNameID.php
+++ b/modules/saml/lib/Auth/Process/PersistentNameID.php
@@ -1,78 +1,90 @@
<?php
+
/**
- * Authproc filter to generate a persistent NameID.
+ * Authentication processing filter to generate a persistent NameID.
*
- * @package simpleSAMLphp
+ * @package SimpleSAMLphp
*/
-class sspmod_saml_Auth_Process_PersistentNameID extends sspmod_saml_BaseNameIDGenerator {
-
- /**
- * Which attribute contains the unique identifier of the user.
- *
- * @var string
- */
- private $attribute;
+class sspmod_saml_Auth_Process_PersistentNameID extends sspmod_saml_BaseNameIDGenerator
+{
+ /**
+ * Which attribute contains the unique identifier of the user.
+ *
+ * @var string
+ */
+ private $attribute;
- /**
- * Initialize this filter, parse configuration.
- *
- * @param array $config Configuration information about this filter.
- * @param mixed $reserved For future use.
- */
- public function __construct($config, $reserved) {
- parent::__construct($config, $reserved);
- assert('is_array($config)');
- $this->format = SAML2_Const::NAMEID_PERSISTENT;
+ /**
+ * Initialize this filter, parse configuration.
+ *
+ * @param array $config Configuration information about this filter.
+ * @param mixed $reserved For future use.
+ *
+ * @throws SimpleSAML_Error_Exception If the required option 'attribute' is missing.
+ */
+ public function __construct($config, $reserved)
+ {
+ parent::__construct($config, $reserved);
+ assert('is_array($config)');
- if (!isset($config['attribute'])) {
- throw new SimpleSAML_Error_Exception('PersistentNameID: Missing required option \'attribute\'.');
- }
- $this->attribute = $config['attribute'];
- }
+ $this->format = SAML2_Const::NAMEID_PERSISTENT;
+ if (!isset($config['attribute'])) {
+ throw new SimpleSAML_Error_Exception("PersistentNameID: Missing required option 'attribute'.");
+ }
+ $this->attribute = $config['attribute'];
+ }
- /**
- * Get the NameID value.
- *
- * @return string|NULL The NameID value.
- */
- protected function getValue(array &$state) {
- if (!isset($state['Destination']['entityid'])) {
- SimpleSAML_Logger::warning('No SP entity ID - not generating persistent NameID.');
- return NULL;
- }
- $spEntityId = $state['Destination']['entityid'];
+ /**
+ * Get the NameID value.
+ *
+ * @param array $state The state array.
+ * @return string|null The NameID value.
+ */
+ protected function getValue(array &$state)
+ {
- if (!isset($state['Source']['entityid'])) {
- SimpleSAML_Logger::warning('No IdP entity ID - not generating persistent NameID.');
- return NULL;
- }
- $idpEntityId = $state['Source']['entityid'];
+ if (!isset($state['Destination']['entityid'])) {
+ SimpleSAML_Logger::warning('No SP entity ID - not generating persistent NameID.');
+ return null;
+ }
+ $spEntityId = $state['Destination']['entityid'];
- if (!isset($state['Attributes'][$this->attribute]) || count($state['Attributes'][$this->attribute]) === 0) {
- SimpleSAML_Logger::warning('Missing attribute ' . var_export($this->attribute, TRUE) . ' on user - not generating persistent NameID.');
- return NULL;
- }
- if (count($state['Attributes'][$this->attribute]) > 1) {
- SimpleSAML_Logger::warning('More than one value in attribute ' . var_export($this->attribute, TRUE) . ' on user - not generating persistent NameID.');
- return NULL;
- }
- $uid = array_values($state['Attributes'][$this->attribute]); /* Just in case the first index is no longer 0. */
- $uid = $uid[0];
+ if (!isset($state['Source']['entityid'])) {
+ SimpleSAML_Logger::warning('No IdP entity ID - not generating persistent NameID.');
+ return null;
+ }
+ $idpEntityId = $state['Source']['entityid'];
- $secretSalt = SimpleSAML\Utils\Config::getSecretSalt();
+ if (!isset($state['Attributes'][$this->attribute]) || count($state['Attributes'][$this->attribute]) === 0) {
+ SimpleSAML_Logger::warning(
+ 'Missing attribute '.var_export($this->attribute, true).
+ ' on user - not generating persistent NameID.'
+ );
+ return null;
+ }
+ if (count($state['Attributes'][$this->attribute]) > 1) {
+ SimpleSAML_Logger::warning(
+ 'More than one value in attribute '.var_export($this->attribute, true).
+ ' on user - not generating persistent NameID.'
+ );
+ return null;
+ }
+ $uid = array_values($state['Attributes'][$this->attribute]); // just in case the first index is no longer 0
+ $uid = $uid[0];
- $uidData = 'uidhashbase' . $secretSalt;
- $uidData .= strlen($idpEntityId) . ':' . $idpEntityId;
- $uidData .= strlen($spEntityId) . ':' . $spEntityId;
- $uidData .= strlen($uid) . ':' . $uid;
- $uidData .= $secretSalt;
+ $secretSalt = SimpleSAML\Utils\Config::getSecretSalt();
- return sha1($uidData);
- }
+ $uidData = 'uidhashbase'.$secretSalt;
+ $uidData .= strlen($idpEntityId).':'.$idpEntityId;
+ $uidData .= strlen($spEntityId).':'.$spEntityId;
+ $uidData .= strlen($uid).':'.$uid;
+ $uidData .= $secretSalt;
+ return sha1($uidData);
+ }
}