diff --git a/VERSIONS_HOTLINE/79470 b/VERSIONS_HOTLINE/79470 new file mode 100644 index 0000000000000000000000000000000000000000..ff086796469ae64ff9a1f1c567093d7cbb19374c --- /dev/null +++ b/VERSIONS_HOTLINE/79470 @@ -0,0 +1 @@ + - ticket #79470 : Bibiondemand : correction de l'encodage des URLs SSO \ No newline at end of file diff --git a/library/digital_resources/Bibliondemand/Config.php b/library/digital_resources/Bibliondemand/Config.php index 244645286c4e966c9b93fe808c651e45f548e457..76d509498363822a0e8767a4a2baf7fd9732da83 100644 --- a/library/digital_resources/Bibliondemand/Config.php +++ b/library/digital_resources/Bibliondemand/Config.php @@ -61,7 +61,7 @@ class Bibliondemand_Config extends Class_DigitalResource_Config { $url = Class_AdminVar::getValueOrDefault($this->withNameSpace('SSO_URL')); return ($record_url = (new Class_Notice_Sso($record))->getFirstPrivateUrl()) - ? $url . '&' . http_build_query(['returnUrl' => '/sarasvati/ws/secure/redirect.ashx?url=' . $record_url]) + ? $url . '&' . http_build_query(['returnUrl' => '/sarasvati/ws/secure/redirect.ashx?url=' . urlencode($record_url)]) : $url; } diff --git a/library/digital_resources/Bibliondemand/tests/BibliondemandTest.php b/library/digital_resources/Bibliondemand/tests/BibliondemandTest.php index 1d2cb993a2feabb95cfc3125e5197839c00c5442..5f05a83dd39f26d761a1f893408cce03ab4ea8c7 100644 --- a/library/digital_resources/Bibliondemand/tests/BibliondemandTest.php +++ b/library/digital_resources/Bibliondemand/tests/BibliondemandTest.php @@ -172,7 +172,7 @@ class ModulesControllerBibliondemandSsoTest extends AbstractControllerTestCase { /** @test */ public function record21ShouldRedirectToBibliondemandSso() { $this->dispatch('/modules/sso/id/21', true); - $this->assertXPathContentContains('//script', 'document.location.href="http://numerique-pasdecalais.bibliondemand.com/logon.aspx?provider=SsoCas&sso-id=cg62-saintomer&returnUrl='. urlencode('/sarasvati/ws/secure/redirect.ashx?url=http://music.1dtouch.com/users/auth/assa?dest=albums/137962&bibid=CG62').'"', + $this->assertXPathContentContains('//script', 'document.location.href="http://numerique-pasdecalais.bibliondemand.com/logon.aspx?provider=SsoCas&sso-id=cg62-saintomer&returnUrl='. urlencode('/sarasvati/ws/secure/redirect.ashx?url=' . urlencode('http://music.1dtouch.com/users/auth/assa?dest=albums/137962&bibid=CG62')).'"', $this->_response->getBody()); } }