Skip to content
Snippets Groups Projects
Unverified Commit 9876e819 authored by Jaime Pérez Crespo's avatar Jaime Pérez Crespo Committed by GitHub
Browse files

Merge pull request #1004 from mschwager/master

Fixes #970, improve AttributeMap overwrite behavior
parents 62ce3bd5 873c9686
Branches
Tags
No related merge requests found
...@@ -135,6 +135,9 @@ class AttributeMap extends \SimpleSAML\Auth\ProcessingFilter ...@@ -135,6 +135,9 @@ class AttributeMap extends \SimpleSAML\Auth\ProcessingFilter
} }
} }
} else { } else {
if (array_key_exists($name, $mapped_attributes)) {
continue;
}
$mapped_attributes[$name] = $values; $mapped_attributes[$name] = $values;
} }
} }
......
...@@ -199,4 +199,46 @@ class AttributeMapTest extends TestCase ...@@ -199,4 +199,46 @@ class AttributeMapTest extends TestCase
$this->setExpectedException('\Exception'); $this->setExpectedException('\Exception');
self::processFilter($config, $request); self::processFilter($config, $request);
} }
public function testOverwrite()
{
$config = [
'attribute1' => 'attribute2',
];
$request = [
'Attributes' => [
'attribute1' => ['value1'],
'attribute2' => ['value2'],
],
];
$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute2' => ['value1'],
];
$this->assertEquals($expected, $result);
}
public function testOverwriteReversed()
{
$config = [
'attribute1' => 'attribute2',
];
$request = [
'Attributes' => [
'attribute2' => ['value2'],
'attribute1' => ['value1'],
],
];
$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute2' => ['value1'],
];
$this->assertEquals($expected, $result);
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment