public static getLogoutUrl ( string $redirectUri, string $idToken, |
||
$redirectUri | string | Uri on merchant website to where the user must be redirected to post logout |
$idToken | string | id_token from the TokenInfo object |
$apiContext | Optional API Context | |
return | string | logout URL |
public static function getLogoutUrl($redirectUri, $idToken, $apiContext = null)
{
if (is_null($apiContext)) {
$apiContext = new ApiContext();
}
$config = $apiContext->getConfig();
$params = array('id_token' => $idToken, 'redirect_uri' => $redirectUri, 'logout' => 'true');
return sprintf("%s/webapps/auth/protocol/openidconnect/v1/endsession?%s", self::getBaseUrl($config), http_build_query($params));
}
/** * @test */ public function testLogoutWithCustomConfig() { $redirectUri = 'http://mywebsite.com'; $idToken = 'abc'; $expectedBaseUrl = "https://www.paypal.com/webapps/auth/protocol/openidconnect/v1/endsession"; $this->assertEquals($expectedBaseUrl . "?id_token={$idToken}&redirect_uri=" . urlencode($redirectUri) . "&logout=true", OpenIdSession::getLogoutUrl($redirectUri, $idToken, $this->context), "Failed case - custom config"); }