mirror of
https://github.com/elyby/oauth2-server.git
synced 2024-12-22 13:09:44 +05:30
Add getter for the OAuthServerException::redirectUri param and make it public
This commit is contained in:
parent
0b0b43d433
commit
3684a76ade
@ -294,14 +294,9 @@ class OAuthServerException extends Exception
|
|||||||
|
|
||||||
$payload = $this->getPayload();
|
$payload = $this->getPayload();
|
||||||
|
|
||||||
if ($this->redirectUri !== null) {
|
$redirectUri = $this->getRedirectUri($useFragment);
|
||||||
if ($useFragment === true) {
|
if ($redirectUri !== null) {
|
||||||
$this->redirectUri .= (strstr($this->redirectUri, '#') === false) ? '#' : '&';
|
return $response->withStatus(302)->withHeader('Location', $redirectUri);
|
||||||
} else {
|
|
||||||
$this->redirectUri .= (strstr($this->redirectUri, '?') === false) ? '?' : '&';
|
|
||||||
}
|
|
||||||
|
|
||||||
return $response->withStatus(302)->withHeader('Location', $this->redirectUri . http_build_query($payload));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($headers as $header => $content) {
|
foreach ($headers as $header => $content) {
|
||||||
@ -359,6 +354,31 @@ class OAuthServerException extends Exception
|
|||||||
return $this->redirectUri !== null;
|
return $this->redirectUri !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the redirectUri with all necessary args.
|
||||||
|
*
|
||||||
|
* Null will be returned if the exception doesn't contain the redirectUri.
|
||||||
|
*
|
||||||
|
* @param bool $useFragment True if errors should be in the URI fragment instead of query string
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public function getRedirectUri(bool $useFragment = false): ?string
|
||||||
|
{
|
||||||
|
if ($this->redirectUri === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$redirectUri = $this->redirectUri;
|
||||||
|
if ($useFragment) {
|
||||||
|
$redirectUri .= strpos($this->redirectUri, '#') === false ? '#' : '&';
|
||||||
|
} else {
|
||||||
|
$redirectUri .= strpos($this->redirectUri, '?') === false ? '?' : '&';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $redirectUri . http_build_query($this->getPayload());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the HTTP status code to send when the exceptions is output.
|
* Returns the HTTP status code to send when the exceptions is output.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user