Ich freue mich, dass wir mit CiviVerify eine erste, noch frühe Version einer CiviCRM-Erweiterung unter der freien AGPL-3.0-or-later-Lizenz veröffentlichen können.
Entstanden ist sie aus den Anforderungen an einen dreistufigen Bestellprozess mit Identitätsverifizierung der E-Mail-Adresse. Dabei sollte nachvollziehbar bleiben, welche Person wann welchen Vorgang bestätigt hat – ohne die fachlichen Abläufe fest in die Erweiterung einzubauen.
Daraus entstand die Idee für eine Erweiterung, die losgelöst vom konkreten Anwendungsfall generisch in CiviCRM für Kontakte und Entitäten funktioniert.
CiviVerify ist das Ergebnis, welches einmalige, zeitlich begrenzte Verifikationslinks bereitstellt. Ein Token kann an einen Kontakt und wahlweise an jede APIv4-Entität gehängt werden, etwa an einen Fall, eine Anmeldung oder einen eigenen Datensatz. So bleibt der Nachweis genau dort verankert, wo er fachlich hingehört.
Die wichtigsten Eckdaten:
- Einmalige, zeitlich befristete Verifikationslinks
- Bindung an Kontakte und beliebige APIv4-Entitäten
- Tokens für Message-Templates, etwa für Bestätigungslink, Zweck, Ablaufzeit, UUID sowie Name und ID der gebundenen Entität
- Symfony-Events bei Ausstellung, Bestätigung, Widerruf und Ablauf
- Optionale CiviRules-Trigger und eine Aktion zum Ausstellen und Versenden
- Eingebauter, zeitlich frei planbarer CiviCRM-Job: Er markiert abgelaufene Token als ungültig, löst das Ablauf-Event aus und bereinigt ältere, abgeschlossene Nachweise nach der konfigurierten Aufbewahrungsdauer
- Scanner-sicherer Ablauf: Erst eine ausdrückliche Bestätigung per POST löst den Link ein
- Roh-Token werden nicht in der Datenbank gespeichert
- Fachliche Folgeaktionen bleiben bewusst bei den jeweiligen Fach-Erweiterungen oder CiviRules
CiviVerify ist als eine erste Alpha-Version verfügbar. Ich freue mich über Tests, Rückmeldungen und Beiträge: github.com/polbeo-de/civiverify