Tutor LMS

Tutor LMS student registration.

Keys required. Create a site in the dashboard and copy your site key (HTML) and secret key (server). Replace sq_live_your_key in the snippets below.

How this integration works

Same three steps as every other platform — only the paste location and server hook change.

StepWhat you do for Tutor LMS
1 Load squeaker.js once on pages with the form.
2 Tutor registration template or Custom HTML in form builder.
3 Verify squeaker-token on your server before saving or forwarding the submission.

Where to put the widget

Tutor registration template or Custom HTML in form builder.

Recommended settings

SettingValue
Widget mode Auto (recommended) — Runs on form submit — best for most forms
Form selector form.tutor-form (used in data-form for auto mode)
Server verify PHP

Copy-paste snippet

Paste into your Tutor LMS form or template. Load squeaker.js once per page.

<!-- Tutor registration template or Custom HTML in form builder. -->
<squeaker-widget
  data-sitekey="sq_live_your_key"
  data-api="https://api.squeaker.cc/v1"
  data-mode="auto"
  data-theme="light"
  data-form="form.tutor-form"
></squeaker-widget>

<!-- Load squeaker.js once per page -->
<script src="https://cdn.squeaker.cc/squeaker.js" async defer></script>

<!-- Verify squeaker-token on your server before processing the form -->

Server verification

Read squeaker-token from the request and POST to /v1/verify with your secret key. Full reference: Server verify docs.

$token = $_POST['squeaker-token'] ?? '';
if ($token === '') {
    http_response_code(400);
    exit('Missing token');
}

$apiUrl = getenv('SQUEAKER_API_URL') ?: 'https://api.squeaker.cc/v1';
$payload = json_encode([
    'secret' => getenv('SQUEAKER_SECRET'),
    'token' => $token,
    'remoteip' => $_SERVER['REMOTE_ADDR'] ?? null,
]);
$ctx = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => "Content-Type: application/json\r\n",
        'content' => $payload,
    ],
]);
$response = file_get_contents("{$apiUrl}/verify", false, $ctx);
$result = json_decode($response, true);
if (!$result['success']) {
    http_response_code(403);
    exit($result['error'] ?? 'Invalid token');
}

// Token valid — process the form

Open setup generator with Tutor LMS pre-selected · Browse all platforms