C++ integration

Use a small public header (kora/auth.hpp) and link KoraClient.lib, similar to KeyAuth-style SDKs. Your main stays short; HTTP and HWID live in the static library.

Download

The SDK archive includes include/kora/auth.hpp and src/kora_client.cpp. Add the implementation to a static library project in your solution, or compile the .cpp into your executable.

“Full” bundle also includes lib/x64/Release/KoraClient.lib (MSVC v143, x64 Release) when we ship it from our build. Rebuild the static library yourself if you use a different toolset or need Win32.

Quick example

Point your include path at the include folder, link against KoraClient.lib (and ensure WinHTTP / Advapi32 are linked — our .cpp uses #pragma comment(lib, …) for that).

#include <kora/auth.hpp>
#include <iostream>
#include <string>

// base URL, optional path prefix, optional app secret (if your server expects it)
static kora::App KoraApp("https://kora.quest", "", "");

int main() {
  std::string username, key;
  std::cout << "Username: ";
  std::getline(std::cin, username);
  std::cout << "License key: ";
  std::getline(std::cin, key);

  if (KoraApp.license(username, key))
    std::cout << "OK\n";
  else
    std::cerr << "Failed\n";
  return 0;
}

API

  • kora::App::license(username, license_key) — POSTs to your Kora host’s license verify endpoint with JSON (including machine HWID), returns true on HTTP 200.
  • kora::Verify(baseUrl, pathPrefix, username, key, appSecret) — free function with the same behavior if you prefer not to hold an App instance.

One-file sample (no static library)

For a smoke test without KoraClient.lib, compile one .cpp with cl /EHsc /std:c++17 kora_verify_min.cpp /link winhttp.lib (username + key, no HWID in body — the server can bind the session to the client IP).