format = (string) $config['Format']; if (!isset($config['attribute'])) { throw new SimpleSAML_Error_Exception("AttributeNameID: Missing required option 'attribute'."); } $this->attribute = (string) $config['attribute']; } /** * Get the NameID value. * * @param array $state The state array. * @return string|null The NameID value. */ protected function getValue(array &$state) { 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 attribute 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 attribute NameID.' ); } $value = array_values($state['Attributes'][$this->attribute]); // just in case the first index is no longer 0 $value = $value[0]; return $value; } }