public function buildAuthenticationEndpointUri(SsoClient $ssoClient, $callbackUri) {
		$uri = new Uri($this->endpointUri);
		$arguments = array(
			'callbackUri' => (string)$callbackUri,
			'ssoClientIdentifier' => $ssoClient->getServiceBaseUri()
		);
		ksort($arguments);
		$uri->setQuery(http_build_query($arguments));

		$signature = $this->rsaWalletService->sign((string)$uri, $ssoClient->getPublicKeyFingerprint());
		$arguments['signature'] = base64_encode($signature);
		$uri->setQuery(http_build_query($arguments));

		return (string)$uri;
	}