Verification

"component/verification" bietet eine Möglichkeit, die Nutzung bestimmter Funktionen, über die Verifizierung eines Sicherheitstokens, abzusichern. Sicherheitstoken sind 24 Stunden lang gültig. Danach können sie von der Garbage Collection gelöscht werden.

Aufbau des Plugins

Die Komponente sollte ausschließlich über die public-Methoden der engine genutzt werden. Die Komponente nutzt zwei Entitäten: Verifikationen (verifications) und Verifizierungstoken (verificationToken).

Verifizierungstoken

Diese Token bilden die Sicherheitsbasis der Plugins. Sie besitzen zwei Hashes. Eines dieser Hashes repräsentiert den Sicherheitstoken, ein anderes Hash ist das Geheimnis. Anhand dieser zwei Hashes kann eine Zeichenkette gebildet werden, die über eine URL übertragen werden kann. "component/verification" bietet Methoden an, die diese Zeichenkette validieren und somit die entsprechende Funktionsanfrage verifizieren können. Benötigt man ein einfaches one-time-Token System (z.B. für einen doubleOptIn-Prozess), kann diese Funktionalität des Plugins genutzt werden.

Verifikation

Die Verifikationen sind Datensätze, die über einen Callback-Parameter an eine bestimmte Funktion gebunden sind. Der Verifikation kann auch ein Array an Parametern zugewiesen werden, welches der Callback-Funktion übergeben wird. Um die Callback-Funktion zu verifizieren, ist der Verifikation ein Verifizierungstoken zugewiesen. Verifikationen können über die engine erstellt werden. Handelt es sich um einen einstufigen Prozess (wie z.B. doubleOptIn), ist ein Verfahren über die Verifikation sinnvoll.

Verwendung

Einstufige Prozesse (Verifizierung + Callback)

Einstufige Prozesse (z.B ein Double Opt-In) können anhand von Verifikationen verifiziert werden. Um das Verfahren einzuleiten, sollte "verifcation\engine::initializeVerification" aufgerufen werden. Diese Methode erstellt sowohl eine Verifizierung anhand der Eingabeparameter (Callback, Callback-Parameter), als auch einen zugehörigen Token. Die aufrufende Stelle erhält ein Objekt, das den Link zum Verifizierungsverfahren, den Verifizierungsdatensatz und die URL-Repräsentation des Tokens enthält. Klickt ein Nutzer nun auf diesen Link, so wird der Link (bzw. der Token im Link) validiert. Ist die Validierung erfolgreich, wird die Callback-Methode aufgerufen. Abhängig des Rückgabewerts (siehe "verification\lib\model\callbackRedirect" "bzw.verification\lib\model\callbackResult"), erfolgt eine Weiterleitung, eine Ausgabe von Hinweismeldungen etc.

Mehrstufige Prozesse (Verifizierung + Callback + Nutzereingabe)

Mehrstufige Prozesse (z.B. die Änderung des Passworts) sollten lediglich den Token- bzw. Verifizierungsaspekt dieses Plugins nutzen, da nach erfolgreicher Verifizierung i.d.R. weitergeleitet wird (z.B. auf ein Formular mit zwei Passwort-Feldern). Diese Weiterleitung ist meist ebenfalls öffentlich aufrufbar, somit muss dieses öffentliche Formular Anfragen ohnehin eigenständig verifizieren.

Beispiel

Beispiele zu diesen Verfahren lassen sich in diversen Plugins finden:

  • Passwort zurücksetzen (admin/login & shop/viewPasswordReset)

  • Double OptIn (shop/viewPasswordReset)