private function constructIdentityToken() {
		if (isset($_REQUEST[self::CODE])) {
			$this->requestToken($_REQUEST[self::CODE], self::IDENTITY_TOKEN);
			$_SESSION[self::SESSION][self::IS_API_TOKEN] = false;
			$_SESSION[self::SESSION][self::STATE] = self::NEGOTIATION_COMPLETE;
			header("Location: {$_SESSION[self::SESSION][self::LANDING_PAGE]}");
			exit;
		} elseif (isset($_REQUEST[self::ERROR])) {
			$_SESSION[self::SESSION][self::STATE] = self::NEGOTIATION_FAILED;
			$_SESSION[self::SESSION][self::ERROR] = $_REQUEST[self::ERROR];
			header("Location: {$_SESSION[self::SESSION][self::LANDING_PAGE]}?error={$_REQUEST[self::ERROR]}");
			exit;
		} else {
			throw new OAuthNegotiator_Exception(
				'Unexpected OAuth response',
				OAuthNegotiator_Exception::CODE_RESPONSE
			);
		}
	}