Login via QR code … simple, right?
Login via QR code… simple, right?
For many years, IACBOX has supported network authentication via QR code. A dedicated link containing the login credentials is generated as a QR code. In the past, users who first connected to the WiFi and then scanned the QR code were able to log in without entering user credentials. Pandemic management brought QR codes into the mainstream, and even seniors no longer mistake them for printing errors.
For some time now, however—more precisely, a few OS updates later—this no longer works with certain smartphones. That is why we would like to explain the issue in more detail here.
What the guest/customer expects vs. what iOS and Android do
The guest sees a QR code on an internet ticket/voucher and reasonably assumes that opening the QR code link will log them in automatically. Except it does not. Why is that?
By design, end devices route network traffic exclusively through data connections that are recognized as functional at that moment. However, at this point, the end device cannot know that the link embedded in the QR code is intended to be accessed via a specific WiFi network, as it is not yet connected to it. We are faced with the classic chicken-and-egg problem. To make matters worse, in most cases (thanks to EU roaming), a functioning cellular connection is available, and an attempt is made to open the link over that connection instead. However, the link is intended for IACBOX and can only be processed by it if the data traffic runs through IACBOX.
On the next attempt, tech-savvy users might connect to the WiFi first and then scan the QR code. Now the operating system detects that it is behind a captive portal that has not yet granted full access, and once again it will not route the link through the WiFi. This issue affects at least some current smartphones, particularly iOS devices.
An additional complication is that some operating systems stop routing traffic over the WiFi connection to IACBOX once the captive browser is closed—an unavoidable step on smartphones when opening the camera or QR code scanner app.
Scanning QR codes directly in the browser
Software developers will naturally ask: why not simply embed camera access via JavaScript directly in the browser to scan the QR code? A fair point—and it works seamlessly in standard browsers, offering what would be an ideal solution. However, for security reasons, the captive browsers on iOS and Android restrict camera access. As smartphones are by far the most commonly used devices on WiFi networks, this leads directly to the issues described above.
WiFi QR codes
Fortunately, there is also a straightforward, non-standardized yet widely adopted text format for QR codes that contains WiFi parameters such as network name (SSID), encryption type, and password.
`WIFI:S:HotelSonnenschein;T:WPA;P:SEHRGEHEIM`
When formatted as a QR code, such text causes a smartphone to connect directly to the respective WiFi. However, this type of QR code only brings users to the login page. To date, it remains impossible to include device-specific credentials for the captive portal in this payload. Nonetheless, this is not necessarily a disadvantage.
Turning a compromise into an advantage
Generating a QR code that simply contains the WiFi connection parameters and directs the guest or customer to the login page is far from a disadvantage. First, it works reliably and avoids causing frustration through timeouts or error messages. AND it prompts user interaction.
Many, if not most, IACBOX operators intentionally use the login page as a customer touchpoint to engage with guests or clients. When else do you have a customer’s undivided attention, coupled with a willingness to interact by entering data or granting consent? Such an opportunity should be leveraged, and this method enables exactly that once again.
Since Update 21.0-p21510 (Dec 2023), IACBOX has been capable of generating such WiFi QR codes. In WebAdmin under Users/Tickets/Ticket Basic Settings, tab: QR-Code, the QR-Code Type can now be set to WiFi SSID. A WiFi QR code will then be generated and printed automatically when creating tickets.
Try it out for yourself. View the >> detailed documentation in our manuals
We will continue monitoring this topic closely on your behalf to provide additional user-friendly options as soon as major operating system vendors support them.