openstackid/app/strategies/IndirectResponseUrlFragmentStrategy.php
smarcet ad1844984e Implements: blueprint openid-oauth2-implicit-client-flow
Change-Id: Iee3c9412a3f75a4aba5421e8c5f881a60b396df0
2014-01-06 18:07:55 -03:00

33 lines
791 B
PHP

<?php
namespace strategies;
use utils\IHttpResponseStrategy;
use Redirect;
use Response;
/**
* Class IndirectResponseUrlFragmentStrategy
* Redirect and http response using a 302 adding params on url fragment
* @package strategies
*/
class IndirectResponseUrlFragmentStrategy implements IHttpResponseStrategy
{
/**
* @param $response
* @return mixed
*/
public function handle($response)
{
$fragment = $response->getContent();
$return_to = $response->getReturnTo();
if (is_null($return_to) || empty($return_to)) {
return \View::make('404');
}
$return_to = (strpos($return_to, "#") === false) ? $return_to . "#" . $fragment : $return_to . "&" . $fragment;
return Redirect::to($return_to);
}
}