PHP code example of tualo / otk

1. Go to this page and download the library: Download tualo/otk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

tualo / otk example snippets


// Redis-Verbindung
'otk' => [
    'redis_host' => '127.0.0.1',     // Redis Server Host
    'redis_port' => 6379,             // Redis Server Port
    'redis_db' => 1,                  // Redis Datenbank-Nummer
    
    // Key-Einstellungen
    'key_prefix' => 'otk',            // Präfix für Keys
    'key_length' => 36,               // Länge des Keys (in Zeichen)
    'key_lifetime' => 1442,           // Lebensdauer in Sekunden (~24 Min)
    
    // Session-Handling
    'use_for_session' => '1',         // '1' = OTK für Sessions verwenden
]

use Tualo\Office\OTK\OTK;

// OTK-Instanz abrufen
$otk = OTK::getInstance();

// Neuen Key generieren und Session-ID speichern
$key = $otk->setValue(); // Verwendet aktuelle Session-ID
// oder
$key = $otk->setValue('custom-session-id');

// Key in URL einbinden
$url = "https://example.com/page?" . $key;

// Bei nächster Anfrage: Session-ID aus Key auslesen
$sessionId = $otk->getValue();
if ($sessionId !== false) {
    session_id($sessionId);
    session_start();
}

use Tualo\Office\OTK\CMSMiddleware\OTKCMSMiddleware;

// Middleware registrieren
OTKCMSMiddleware::register();

use Tualo\Office\OTK\Middleware\OTKSession;

// Middleware registrieren
OTKSession::register();

$otk = OTK::getInstance();

// Key generieren
$key = $otk->setValue('my-session-id');
echo "Ihr Key: " . $key;

// Key auflösen (nur einmal möglich!)
$sessionId = $otk->getValue();
if ($sessionId !== false) {
    echo "Session-ID: " . $sessionId;
} else {
    echo "Key ungültig oder bereits verwendet";
}

// Link für E-Mail generieren
$otk = OTK::getInstance();
$key = $otk->setValue($userId);
$link = "https://example.com/login?" . $key;

// E-Mail versenden mit $link

// Temporären Zugangstoken erstellen
$otk = OTK::getInstance();
$token = $otk->setValue($apiSessionData);

// Token an Client zurückgeben
return ['access_token' => $token];

// Bei Login: Key generieren
$key = $otk->setValue($sessionId);

// Key an App zurückgeben
return ['otk' => $key];

// App sendet Key bei nächster Anfrage als URL-Parameter
// Middleware löst automatisch Session auf

try {
    $otk = OTK::getInstance();
    $sessionId = $otk->getValue();
    
    if ($sessionId === false) {
        // Key nicht gefunden oder bereits verwendet
        throw new Exception('Ungültiger oder abgelaufener Key');
    }
    
    session_id($sessionId);
    session_start();
    
} catch (Exception $e) {
    // Redis-Verbindungsfehler oder andere Probleme
    error_log($e->getMessage());
}