Skip to content
Snippets Groups Projects
Unverified Commit 873c9686 authored by Matt Schwager's avatar Matt Schwager
Browse files

Fixes #970, improve AttributeMap overwrite behavior

parent 6b4b2f15
No related branches found
No related tags found
No related merge requests found
......@@ -135,6 +135,9 @@ class AttributeMap extends \SimpleSAML\Auth\ProcessingFilter
}
}
} else {
if (array_key_exists($name, $mapped_attributes)) {
continue;
}
$mapped_attributes[$name] = $values;
}
}
......
......@@ -199,4 +199,46 @@ class AttributeMapTest extends TestCase
$this->setExpectedException('\Exception');
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.
Finish editing this message first!
Please register or to comment