Skip to content
Snippets Groups Projects
Commit 5f860888 authored by Ghislain Loas's avatar Ghislain Loas
Browse files

dev #68179 upgrade StoryPlayR SSO

parent f453b7b6
Branches
Tags
3 merge requests!2582Dev#68179 contractuel connecteur storyplayr contactuel,!2577Dev#68184 contractuel http api moissonnage le kiosk,!2568Dev#68179 contractuel connecteur storyplayr contactuel
Pipeline #3795 failed with stage
in 31 minutes and 14 seconds
......@@ -54,7 +54,7 @@ class StoryPlayR_Config extends Class_DigitalResource_Config {
return '';
return $this->getAdminVar('SSO_URL')
. '?'
. '?target=/bibliotheque&'
. $this->_getSsoQuery($user);
}
......@@ -74,9 +74,7 @@ class StoryPlayR_Config extends Class_DigitalResource_Config {
public function validateUrlFor($user) {
return Class_Url::absolute(['module' => $this->getModuleName(),
'controller' => 'auth',
'action' => 'validate'], null, true)
return $this->_validateUrl()
. '?' . http_build_query(['sessionid' => (new Class_CasTicket())->getTicketForUser($user)]);
}
......@@ -96,9 +94,17 @@ class StoryPlayR_Config extends Class_DigitalResource_Config {
protected function _getSsoQuery($user) {
return $user
? http_build_query(['userid' => $user->getLogin(),
'mediathequeid' => $this->getAdminVar('MEDIATHEQUE_ID'),
'sessionid' => (new Class_CasTicket())->getTicketForUser($user)])
? (http_build_query(['userid' => $user->getLogin(),
'mediathequeid' => $this->getAdminVar('MEDIATHEQUE_ID'),
'sessionid' => (new Class_CasTicket())->getTicketForUser($user)])
. '&check_url=' . $this->_validateUrl())
: '';
}
protected function _validateUrl() {
return Class_Url::absolute(['module' => $this->getModuleName(),
'controller' => 'auth',
'action' => 'validate'], null, true);
}
}
\ No newline at end of file
......@@ -26,7 +26,7 @@ class StoryPlayRActivatedTestCase extends AbstractControllerTestCase {
public function setUp() {
parent::setUp();
Class_AdminVar::set('StoryPlayR_SSO_URL', 'https://www.storyplayr.com/api/assa/login');
Class_AdminVar::set('StoryPlayR_SSO_URL', 'https://www.storyplayr.com/api/bokeh/login');
Class_AdminVar::set('StoryPlayR_MEDIATHEQUE_ID', 123456);
$group = $this->fixture('Class_UserGroup',
......@@ -59,7 +59,13 @@ class StoryPlayRSsoTest extends StoryPlayRActivatedTestCase {
/** @test */
public function shouldRedirectToStoryPlayer() {
$this->assertXPathContentContains('//script' , 'document.location.href="https://www.storyplayr.com/api/assa/login?userid=Tom&mediathequeid=123456&sessionid=ST-', $this->_response->getBody());
$this->assertXPathContentContains('//script' , 'document.location.href="https://www.storyplayr.com/api/bokeh/login?target=/bibliotheque&userid=Tom&mediathequeid=123456&sessionid=ST-', $this->_response->getBody());
}
/** @test */
public function scriptShouldContainsCheckUrl() {
$this->assertXPathContentContains('//script' , '&check_url=http://localhost/ghislo/StoryPlayR_Plugin/auth/validate', $this->_response->getBody());
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment