Registration checking with QR code


This topic is a follow-up for Meeting participant check-in - #2 by njuszka discussion. I’d like to use registration checking of attendees using a QR code. I downloaded the indico checkin app (Android) from Google Play and I tried to scan the QR code displayed in event registration configuration area. Unfortunately, I get an error:

There was a problem with that QR: Syntax Error: Unexpected token ‘<’, "…

What am I doing wrong? Thanks for any help!


Sounds strange. Which indico and app versions did you use? are you authenticated in the app ?

The QR-Code (manage-> registration->registration form → Show QRcode button) should contain a json wiht server base url and event infos. You can check this by scanning with a normal QR-Scanner (e.g. the camera app).

indico checkin version is 1.6.0 and Indico version is 3.2.2. Scanning the QR code with a standard application, I get

{“date”:“2023-02-28T17:00:00+00:00”,“event_id”:9362,“server”:{“base_url”:“”,“client_id”:“uuid”,“scope”:“registrants”},“title”:“Test QR Code”,“version”:2}

You mention authentication in indico checkin but I don’t see this possibility…



That looks OK. Is the server publicly reachable (I can’t reach it) ? Otherwise you probably need to enable VPN on the phone first.

Yes it is definitely publicly reachable… Strange you cannot reach it. I just removed the client ID. If it helps, you can authenticate on our Indico server via eduGAIN and I can add you as an admin of the event…


It became reachable again, so that is probably not the cause. Hmm, I am currently out of ideas.

I upgraded Indico to 3.2.3 a few minutes ago but it did not change anything, as expected… @bpedersen2 are you able to use successfully QR codes on your instance with the same Indico/indico checkin versions?

The error happen because the oauth metadata endpoint 404s:

Could it be some web firewall or webserver misconfiguration that prevents access to anything starting with a dot? Because the 404 page I get there is NOT coming from Indico but rather from the webserver (the indico error pages look nicer). It seems like any /.well-known URL is not passed on to Indico.

This could also be because someone tried to set up Let’s Encrypt and ended up aliasing all .well-known URLs to some directory instead of just the acme-challenge ones.

Yes, here it works nicely. Can you check what requests are sent to indico if you scan with the app?
You should see a request to api/events//registrants.

And you need to scan this code from ‘Add event’ in the app first, then you can scan the registration codes.

@ThiefMaster you found the reason! I updated our Indico to use Let’s Encrypt certificate. I probably made something wrong in the Apache config.

Thanks for you help, as usual :slight_smile:

I confirm it was a stupid mistake in the Apache configuration. When I configured Let’s Encrypt, I excluded from ProxyPassMatch .well-known instead of .well-known/acme-challenge… Works like a charm now!

Thanks again @bpedersen2 and @ThiefMaster for your time.