30        parent::__construct(
$config, $reserved);
 
   31        assert(
'is_array($config)');
 
   35        if (!isset(
$config[
'attribute'])) {
 
   38        $this->attribute = 
$config[
'attribute'];
 
   51        if (!isset(
$state[
'Destination'][
'entityid'])) {
 
   57        if (!isset(
$state[
'Source'][
'entityid'])) {
 
   63        if (!isset(
$state[
'Attributes'][$this->attribute]) || count(
$state[
'Attributes'][$this->attribute]) === 0) {
 
   65                'Missing attribute '.var_export($this->attribute, 
true).
 
   66                ' on user - not generating persistent NameID.' 
   70        if (count(
$state[
'Attributes'][$this->attribute]) > 1) {
 
   72                'More than one value in attribute '.var_export($this->attribute, 
true).
 
   73                ' on user - not generating persistent NameID.' 
   77        $uid = array_values(
$state[
'Attributes'][$this->attribute]); 
 
   82                'Empty value in attribute '.var_export($this->attribute, 
true).
 
   83                ' on user - not generating persistent NameID.' 
   90        $uidData = 
'uidhashbase'.$secretSalt;
 
   93        $uidData .= strlen($uid).
':'.$uid;
 
   94        $uidData .= $secretSalt;
 
   96        return sha1($uidData);
 
if(!array_key_exists('stateid', $_REQUEST)) $state
Handle linkback() response from LinkedIn.
An exception for terminatinating execution or to throw for unit testing.
const NAMEID_PERSISTENT
Persistent NameID format.
static getSecretSalt()
Retrieve the secret salt.
__construct($config, $reserved)
Initialize this filter, parse configuration.
getValue(array &$state)
Get the NameID value.