*/ class SabrePluginAuthInitListener implements IEventListener { public function __construct( private readonly PublicAlbumAuthBackend $publicAlbumAuthBackend, ) { } public function handle(Event $event): void { if (!($event instanceof SabrePluginAuthInitEvent)) { return; } $server = $event->getServer(); if (!str_starts_with((string)$server->getRequestUri(), 'photospublic/')) { return; } /** @var \Sabre\DAV\Auth\Plugin */ $authPlugin = $server->getPlugin('auth'); $authPlugin->addBackend($this->publicAlbumAuthBackend); } }