From: Robert Kaiser Date: Wed, 16 Nov 2016 20:55:50 +0000 (+0100) Subject: extract domains from redirect URIs, fall back to client ID when that is not present X-Git-Url: https://git-public.kairo.at/?p=authserver.git;a=commitdiff_plain;h=c4e0aceb5d9e9076effd75de03f4588b65329740 extract domains from redirect URIs, fall back to client ID when that is not present --- diff --git a/authorize.php b/authorize.php index b434496..f06d835 100644 --- a/authorize.php +++ b/authorize.php @@ -70,7 +70,9 @@ if (!count($errors)) { $form = $body->appendForm('', 'POST', 'authform'); $form->setAttribute('id', 'authform'); - $form->appendElement('p', sprintf(_('Do you authorize %s to access %s?'), $request->query['client_id'], $request->query['scope'])); + $domain_name = parse_url($request->query['redirect_uri'], PHP_URL_HOST); + if (!strlen($domain_name)) { $domain_name = $request->query['client_id']; } + $form->appendElement('p', sprintf(_('Do you authorize %s to access %s?'), $domain_name, $request->query['scope'])); $submit = $form->appendInputSubmit(_('yes')); $submit->setAttribute('name', 'authorized'); $form->appendText(' '); @@ -79,7 +81,9 @@ if (!count($errors)) { } elseif (empty($_POST) && (@$request->query['scope'] == 'email')) { // Display an interstitial page for a login when we have email scope (verified email for logging in). - $para = $body->appendElement('p', sprintf(_('Sign in to %s using…'), $request->query['client_id'])); // XXX: put domain name from redirect URI on there instead + $domain_name = parse_url($request->query['redirect_uri'], PHP_URL_HOST); + if (!strlen($domain_name)) { $domain_name = $request->query['client_id']; } + $para = $body->appendElement('p', sprintf(_('Sign in to %s using…'), $domain_name)); $para->setAttribute('class', 'signinwelcome'); $form = $body->appendForm('', 'POST', 'loginauthform'); $form->setAttribute('id', 'loginauthform');