ADFS lower-case support

This commit is contained in:
Lukas Reschke 2016-11-14 14:02:54 +01:00
parent f768e4339e
commit 59fc3d0fc9
No known key found for this signature in database
GPG Key ID: B9F6980CF6E759B1
5 changed files with 69 additions and 47 deletions

View File

@ -73,6 +73,9 @@ class Admin implements ISettings {
'wantNameIdEncrypted' => $this->l10n->t('Indicates a requirement for the NameID received by this SP to be encrypted.'),
'wantXMLValidation' => $this->l10n->t('Indicates if the SP will validate all received XMLs.'),
];
$securityGeneral = [
'lowercaseUrlencoding' => $this->l10n->t('ADFS URL-Encodes SAML data as lowercase, and the toolkit by default uses uppercase. Enable for ADFS compatibility on signature verification.'),
];
$generalSettings = [
'uid_mapping' => [
'text' => $this->l10n->t('Attribute to map the UID to.'),
@ -97,6 +100,7 @@ class Admin implements ISettings {
'sp' => $serviceProviderFields,
'security-offer' => $securityOfferFields,
'security-required' => $securityRequiredFields,
'security-general' => $securityGeneral,
'general' => $generalSettings,
'type' => $type,
];

View File

@ -58,6 +58,7 @@ class SAMLSettings {
'wantNameIdEncrypted' => ($this->config->getAppValue('user_saml', 'security-wantNameIdEncrypted', '0') === '1') ? true : false,
'wantXMLValidation' => ($this->config->getAppValue('user_saml', 'security-wantXMLValidation', '0') === '1') ? true : false,
'requestedAuthnContext' => false,
'lowercaseUrlencoding' => ($this->config->getAppValue('user_saml', 'security-lowercaseUrlencoding', '0') === '1') ? true : false,
],
'sp' => [
'entityId' => $this->urlGenerator->linkToRouteAbsolute('user_saml.SAML.getMetadata'),

View File

@ -96,6 +96,13 @@ style('user_saml', 'admin');
<label for="user-saml-<?php p($key)?>"><?php p($text) ?></label>
</p>
<?php endforeach; ?>
<h4><?php p($l->t('General')) ?></h4>
<?php foreach($_['security-general'] as $key => $text): ?>
<p>
<input type="checkbox" id="user-saml-<?php p($key)?>" name="<?php p($key)?>" value="<?php p(\OC::$server->getConfig()->getAppValue('user_saml', 'security-'.$key, '0')) ?>" class="checkbox">
<label for="user-saml-<?php p($key)?>"><?php p($text) ?></label>
</p>
<?php endforeach; ?>
</div>
</div>

View File

@ -77,6 +77,9 @@ class AdminTest extends \Test\TestCase {
'wantNameIdEncrypted' => 'Indicates a requirement for the NameID received by this SP to be encrypted.',
'wantXMLValidation' => 'Indicates if the SP will validate all received XMLs.',
];
$securityGeneral = [
'lowercaseUrlencoding' => 'ADFS URL-Encodes SAML data as lowercase, and the toolkit by default uses uppercase. Enable for ADFS compatibility on signature verification.',
];
$generalSettings = [
'uid_mapping' => [
'text' => 'Attribute to map the UID to.',
@ -97,6 +100,7 @@ class AdminTest extends \Test\TestCase {
'sp' => $serviceProviderFields,
'security-offer' => $securityOfferFields,
'security-required' => $securityRequiredFields,
'security-general' => $securityGeneral,
'general' => $generalSettings,
];

View File

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1479117325">
<project timestamp="1479117325">
<coverage generated="1479128242">
<project timestamp="1479128242">
<file name="/media/psf/stable9/apps/user_saml/appinfo/app.php">
<line num="22" type="stmt" count="0"/>
<line num="26" type="stmt" count="0"/>
<line num="27" type="stmt" count="0"/>
<line num="28" type="stmt" count="0"/>
<line num="30" type="stmt" count="0"/>
<line num="31" type="stmt" count="0"/>
<line num="32" type="stmt" count="0"/>
<line num="33" type="stmt" count="0"/>
@ -14,7 +13,7 @@
<line num="35" type="stmt" count="0"/>
<line num="36" type="stmt" count="0"/>
<line num="37" type="stmt" count="0"/>
<line num="39" type="stmt" count="0"/>
<line num="38" type="stmt" count="0"/>
<line num="40" type="stmt" count="0"/>
<line num="41" type="stmt" count="0"/>
<line num="42" type="stmt" count="0"/>
@ -23,7 +22,7 @@
<line num="45" type="stmt" count="0"/>
<line num="46" type="stmt" count="0"/>
<line num="47" type="stmt" count="0"/>
<line num="50" type="stmt" count="0"/>
<line num="48" type="stmt" count="0"/>
<line num="51" type="stmt" count="0"/>
<line num="52" type="stmt" count="0"/>
<line num="53" type="stmt" count="0"/>
@ -39,16 +38,16 @@
<line num="63" type="stmt" count="0"/>
<line num="64" type="stmt" count="0"/>
<line num="65" type="stmt" count="0"/>
<line num="67" type="stmt" count="0"/>
<line num="66" type="stmt" count="0"/>
<line num="68" type="stmt" count="0"/>
<line num="69" type="stmt" count="0"/>
<line num="71" type="stmt" count="0"/>
<line num="74" type="stmt" count="0"/>
<line num="70" type="stmt" count="0"/>
<line num="72" type="stmt" count="0"/>
<line num="75" type="stmt" count="0"/>
<line num="76" type="stmt" count="0"/>
<line num="77" type="stmt" count="0"/>
<line num="78" type="stmt" count="0"/>
<line num="87" type="stmt" count="0"/>
<line num="79" type="stmt" count="0"/>
<line num="88" type="stmt" count="0"/>
<line num="89" type="stmt" count="0"/>
<line num="90" type="stmt" count="0"/>
@ -57,11 +56,13 @@
<line num="93" type="stmt" count="0"/>
<line num="94" type="stmt" count="0"/>
<line num="95" type="stmt" count="0"/>
<line num="97" type="stmt" count="0"/>
<line num="96" type="stmt" count="0"/>
<line num="98" type="stmt" count="0"/>
<line num="99" type="stmt" count="0"/>
<line num="100" type="stmt" count="0"/>
<metrics loc="100" ncloc="57" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="59" coveredelements="0"/>
<line num="101" type="stmt" count="0"/>
<line num="102" type="stmt" count="0"/>
<metrics loc="102" ncloc="59" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="0" elements="60" coveredelements="0"/>
</file>
<file name="/media/psf/stable9/apps/user_saml/appinfo/routes.php">
<line num="24" type="stmt" count="0"/>
@ -192,22 +193,21 @@
<line num="181" type="stmt" count="0"/>
<line num="184" type="stmt" count="0"/>
<line num="185" type="stmt" count="0"/>
<line num="187" type="stmt" count="0"/>
<line num="188" type="stmt" count="0"/>
<line num="189" type="stmt" count="0"/>
<line num="195" type="stmt" count="0"/>
<line num="190" type="stmt" count="0"/>
<line num="196" type="stmt" count="0"/>
<line num="197" type="stmt" count="0"/>
<line num="201" type="stmt" count="0"/>
<line num="198" type="stmt" count="0"/>
<line num="202" type="stmt" count="0"/>
<line num="203" type="stmt" count="0"/>
<line num="204" type="stmt" count="0"/>
<line num="206" type="stmt" count="0"/>
<line num="209" type="stmt" count="0"/>
<line num="205" type="stmt" count="0"/>
<line num="207" type="stmt" count="0"/>
<line num="210" type="stmt" count="0"/>
<line num="212" type="stmt" count="0"/>
<line num="218" type="method" name="singleLogoutService" visibility="public" complexity="1" crap="2" count="0"/>
<line num="219" type="stmt" count="0"/>
<line num="211" type="stmt" count="0"/>
<line num="213" type="stmt" count="0"/>
<line num="219" type="method" name="singleLogoutService" visibility="public" complexity="1" crap="2" count="0"/>
<line num="220" type="stmt" count="0"/>
<line num="221" type="stmt" count="0"/>
<line num="222" type="stmt" count="0"/>
@ -215,9 +215,10 @@
<line num="224" type="stmt" count="0"/>
<line num="225" type="stmt" count="0"/>
<line num="226" type="stmt" count="0"/>
<line num="233" type="method" name="notProvisioned" visibility="public" complexity="1" crap="2" count="0"/>
<line num="234" type="stmt" count="0"/>
<metrics loc="236" ncloc="159" classes="1" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="34" elements="85" coveredelements="35"/>
<line num="227" type="stmt" count="0"/>
<line num="234" type="method" name="notProvisioned" visibility="public" complexity="1" crap="2" count="0"/>
<line num="235" type="stmt" count="0"/>
<metrics loc="237" ncloc="160" classes="1" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="34" elements="85" coveredelements="35"/>
</file>
</package>
<package name="OCA\User_SAML\Exceptions">
@ -251,7 +252,7 @@
<package name="OCA\User_SAML\Settings">
<file name="/media/psf/stable9/apps/user_saml/lib/Settings/Admin.php">
<class name="Admin" namespace="OCA\User_SAML\Settings">
<metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
<metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="37" elements="41" coveredelements="41"/>
</class>
<line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
<line num="48" type="stmt" count="4"/>
@ -272,27 +273,29 @@
<line num="72" type="stmt" count="2"/>
<line num="73" type="stmt" count="2"/>
<line num="74" type="stmt" count="2"/>
<line num="78" type="stmt" count="2"/>
<line num="79" type="stmt" count="2"/>
<line num="77" type="stmt" count="2"/>
<line num="81" type="stmt" count="2"/>
<line num="83" type="stmt" count="2"/>
<line num="82" type="stmt" count="2"/>
<line num="84" type="stmt" count="2"/>
<line num="88" type="stmt" count="2"/>
<line num="89" type="stmt" count="2"/>
<line num="90" type="stmt" count="1"/>
<line num="91" type="stmt" count="1"/>
<line num="92" type="stmt" count="1"/>
<line num="97" type="stmt" count="2"/>
<line num="98" type="stmt" count="2"/>
<line num="99" type="stmt" count="2"/>
<line num="86" type="stmt" count="2"/>
<line num="87" type="stmt" count="2"/>
<line num="91" type="stmt" count="2"/>
<line num="92" type="stmt" count="2"/>
<line num="93" type="stmt" count="1"/>
<line num="94" type="stmt" count="1"/>
<line num="95" type="stmt" count="1"/>
<line num="100" type="stmt" count="2"/>
<line num="101" type="stmt" count="2"/>
<line num="102" type="stmt" count="2"/>
<line num="103" type="stmt" count="2"/>
<line num="104" type="stmt" count="2"/>
<line num="110" type="method" name="getSection" visibility="public" complexity="1" crap="1" count="1"/>
<line num="111" type="stmt" count="1"/>
<line num="121" type="method" name="getPriority" visibility="public" complexity="1" crap="1" count="1"/>
<line num="122" type="stmt" count="1"/>
<metrics loc="125" ncloc="83" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
<line num="105" type="stmt" count="2"/>
<line num="108" type="stmt" count="2"/>
<line num="114" type="method" name="getSection" visibility="public" complexity="1" crap="1" count="1"/>
<line num="115" type="stmt" count="1"/>
<line num="125" type="method" name="getPriority" visibility="public" complexity="1" crap="1" count="1"/>
<line num="126" type="stmt" count="1"/>
<metrics loc="129" ncloc="87" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="37" elements="41" coveredelements="41"/>
</file>
<file name="/media/psf/stable9/apps/user_saml/lib/Settings/Section.php">
<class name="Section" namespace="OCA\User_SAML\Settings">
@ -313,15 +316,16 @@
<package name="OCA\User_SAML">
<file name="/media/psf/stable9/apps/user_saml/lib/samlsettings.php">
<class name="SAMLSettings" namespace="OCA\User_SAML">
<metrics complexity="17" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="54" coveredstatements="0" elements="56" coveredelements="0"/>
<metrics complexity="18" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="59" coveredelements="0"/>
</class>
<line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
<line num="39" type="stmt" count="0"/>
<line num="40" type="stmt" count="0"/>
<line num="41" type="stmt" count="0"/>
<line num="42" type="stmt" count="0"/>
<line num="44" type="method" name="getOneLoginSettingsArray" visibility="public" complexity="16" crap="272" count="0"/>
<line num="44" type="method" name="getOneLoginSettingsArray" visibility="public" complexity="17" crap="306" count="0"/>
<line num="45" type="stmt" count="0"/>
<line num="46" type="stmt" count="0"/>
<line num="48" type="stmt" count="0"/>
<line num="49" type="stmt" count="0"/>
<line num="50" type="stmt" count="0"/>
@ -348,20 +352,20 @@
<line num="71" type="stmt" count="0"/>
<line num="72" type="stmt" count="0"/>
<line num="73" type="stmt" count="0"/>
<line num="74" type="stmt" count="0"/>
<line num="75" type="stmt" count="0"/>
<line num="76" type="stmt" count="0"/>
<line num="77" type="stmt" count="0"/>
<line num="78" type="stmt" count="0"/>
<line num="79" type="stmt" count="0"/>
<line num="80" type="stmt" count="0"/>
<line num="81" type="stmt" count="0"/>
<line num="82" type="stmt" count="0"/>
<line num="83" type="stmt" count="0"/>
<line num="84" type="stmt" count="0"/>
<line num="85" type="stmt" count="0"/>
<line num="86" type="stmt" count="0"/>
<line num="87" type="stmt" count="0"/>
<line num="88" type="stmt" count="0"/>
<line num="89" type="stmt" count="0"/>
<line num="90" type="stmt" count="0"/>
<line num="91" type="stmt" count="0"/>
<line num="92" type="stmt" count="0"/>
<line num="93" type="stmt" count="0"/>
@ -369,9 +373,11 @@
<line num="95" type="stmt" count="0"/>
<line num="96" type="stmt" count="0"/>
<line num="97" type="stmt" count="0"/>
<line num="98" type="stmt" count="0"/>
<line num="99" type="stmt" count="0"/>
<line num="100" type="stmt" count="0"/>
<metrics loc="102" ncloc="73" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="54" coveredstatements="0" elements="56" coveredelements="0"/>
<line num="101" type="stmt" count="0"/>
<line num="102" type="stmt" count="0"/>
<metrics loc="104" ncloc="77" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="59" coveredelements="0"/>
</file>
<file name="/media/psf/stable9/apps/user_saml/lib/userbackend.php">
<class name="UserBackend" namespace="OCA\User_SAML">
@ -544,6 +550,6 @@
<metrics loc="362" ncloc="217" classes="1" methods="18" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="0" elements="164" coveredelements="0"/>
</file>
</package>
<metrics files="11" loc="1230" ncloc="723" classes="8" methods="40" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="434" coveredstatements="91" elements="474" coveredelements="105"/>
<metrics files="11" loc="1239" ncloc="734" classes="8" methods="40" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="440" coveredstatements="93" elements="480" coveredelements="107"/>
</project>
</coverage>