SSO mit Keycloak und Symfony

in  Zikula Apps , , ,

SSO mit Keycloak und Symfony

Mit der Java-basierten Software Keycloak wird die Verwaltung und Authentifizierung von Nutzern zentral gelöst. Hierbei bleiben kaum Wünsche offen: egal ob nun ein Registrierungsprozess, die Integration mit Social Logins (Google, Facebook, usw.) oder LDAP gewünscht ist, mit Keycloak lassen sich diese Themen sehr flexibel umsetzen. Auch erweiterte Features, wie etwa eine 2-Faktor-Authentifizierung, sind möglich.

Um Keycloak mit Symfony zu integrieren, ohne sich mit der Security-Komponente von Symfony im Detail auseinandersetzen zu müssen, bietet sich dieses Bundle an.

Symfony UX Translator bietet Mehrsprachigkeit in JavaScript

in  Zikula Apps , , , ,

Symfony UX Translator bietet Mehrsprachigkeit in JavaScript

Bereits seit einigen Jahren gibt es das BazingaJsTranslationBundle, welches es erlaubt, den Symfony Translator auch Client-seitig zu verwenden. Auch in Zikula kommt dieses Bundle zum Einsatz, allerdings gab es auch immer mal wieder kleinere Defiziten zu bewältigen.

Nun gibt es einen offiziellen Nachfolger oder Ersatz: der aktuell noch als experimentell gekennzeichnete UX Translator bringt einige Verbesserungen mit, welche die Nutzung vereinfachen. So wird zum Beispiel auch die Intl ICU Syntax unterstützt. Und vor allem verspricht der neue Ansatz eine spürbar performantere Arbeitsweise, unter anderem durch ein anderes Verfahren zum Dumpen der Übersetzungen und die Möglichkeit zur selektiven Nutzung derselben.

Monitoring von Queues mit dem Symfony Messenger

in  Zikula Apps , , , , ,

Monitoring von Queues mit dem Symfony Messenger

Der Symfony Messenger kann über unterschiedliche Transporte mit diversen Queue-Technologien eingesetzt werden, zum Beispiel AMQP, Redis, Amazon SQS oder Doctrine. Um die Messages in den Queues anschauen zu können, stehen je nach Anbieter verschiedene Möglichkeiten zur Verfügung. So bietet etwa RabbitMQ eine Management-UI, mit der unter anderem solche Aufgaben erledigt werden können.

Sofern Bedarf entsteht direkt in Symfony zu erfahren, wie voll eine bestimmte Queue ist oder welche Nachrichten sich darin befinden, könnte sich das messenger-monitor-bundle anbieten. Es erlaubt die Größe der Queue in der Konsole in einem einstellbaren Intervall zu verfolgen. Auch eine UI mit diversen Statistiken ist verfügbar: so werden zum Beispiel die Anzahl der Nachrichten pro Stunde, die durchschnittliche Wartezeit und Bearbeitungszeit dargestellt.

MultiPart-Requests in Symfony einfach verarbeiten

in  Zikula Apps , , ,

MultiPart-Requests in Symfony einfach verarbeiten

In Symfony gibt es mit der Mime-Komponente eine komfortable Möglichkeit, MultiPart-Nachrichten zu erstellen. Nicht out of the box enthalten ist aber ein Interface, das den Zugriff auf die in eingehenden MultiPart-Requests enthaltenen Bestandteile erlaubt.

Diese Lücke füllt das MultipartUpload-Bundle. Mit einem Event-Listener, der auf das Kernel-Event kernel.request hört, werden eingehende Requests daraufhin untersucht, ob sie mehrere Parts beinhalten. Ist dies der Fall, werden die einzelnen Teile extrahiert und in Request-Attributen bereitgestellt.

Da die zu Grunde liegende Logik mittlerweile in einem eigenen Service liegt, kann diese auch jederzeit programmatisch auf einen beliebigen Payload angewendet werden. Dies kann hilfreich sein, wenn zum Beispiel eine Datei gegeben ist, welche entsprechende MultiPart-Daten enthält.