From a842c9c0e732a06e6ed2bb23313eaf80f7ad2911 Mon Sep 17 00:00:00 2001 From: Sebastian Marcet Date: Tue, 10 May 2016 00:08:02 -0300 Subject: [PATCH] Fix on OpenId 2.0 User Discovery https://openid.net/specs/openid-authentication-2_0.html#verify_disco implementation has a bug, on X-XRDS-Location on user profile page was publishing the wrong XRDS DOC, was issuing the doc for IDP, but it needed the doc for the claimed identifier Change-Id: I394a2517f771cc31340e0891dffc007279038d63 --- app/controllers/openid/DiscoveryController.php | 12 ++++-------- app/views/identity.blade.php | 2 +- other-requirements.txt | 10 ++++++++++ 3 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 other-requirements.txt diff --git a/app/controllers/openid/DiscoveryController.php b/app/controllers/openid/DiscoveryController.php index 72ae6b0a..a09837de 100644 --- a/app/controllers/openid/DiscoveryController.php +++ b/app/controllers/openid/DiscoveryController.php @@ -14,8 +14,8 @@ class DiscoveryController extends OpenIdController public function __construct(IOpenIdProtocol $openid_protocol, IAuthService $auth_service, IServerConfigurationService $server_config_service) { - $this->openid_protocol = $openid_protocol; - $this->auth_service = $auth_service; + $this->openid_protocol = $openid_protocol; + $this->auth_service = $auth_service; $this->server_config_service = $server_config_service; } @@ -46,12 +46,8 @@ class DiscoveryController extends OpenIdController return View::make("404"); $local_identifier = $this->server_config_service->getUserIdentityEndpointURL($identifier); - if ($this->isDiscoveryRequest()) { - $response = Response::make($this->openid_protocol->getXRDSDiscovery(IOpenIdProtocol::OpenIdXRDSModeUser, $local_identifier), 200); - $this->setDiscoveryResponseType($response); - } else { - $response = View::make("identity"); - } + $response = Response::make($this->openid_protocol->getXRDSDiscovery(IOpenIdProtocol::OpenIdXRDSModeUser, $local_identifier), 200); + $this->setDiscoveryResponseType($response); return $response; } diff --git a/app/views/identity.blade.php b/app/views/identity.blade.php index b9303306..6f057398 100644 --- a/app/views/identity.blade.php +++ b/app/views/identity.blade.php @@ -3,7 +3,7 @@ Welcome to OpenStackId @stop @section('meta') - + $identifier ])}}" /> @append @section('content')
diff --git a/other-requirements.txt b/other-requirements.txt new file mode 100644 index 00000000..2a3674c3 --- /dev/null +++ b/other-requirements.txt @@ -0,0 +1,10 @@ +mcrypt +php5 +php5-common +php5-cli +php5-mcrypt +php5-curl +php5-gd +php5-json +php5-mysql +php5-gmp