Key differences
What the user sees
- On a computer, a TV or a kiosk, the user scans the QR code with their phone camera.
- The phone opens the short link. The sign-in page on the computer immediately says “QR code scanned” and shows what to do next.
- The phone moves on to the messenger — directly or through a launch page, depending on the redirect style.
- The user confirms with a single tap, and the sign-in completes on the computer.
Redirect style
Interstitial is more reliable where a direct jump into the messenger app does not always work. The
Email channel has rules of its own — see Email under hop mode.
How to turn it on
appsettings.json
Veriqa:Channels:{Channel}:HopEnabled) or for
one application, in its OIDC client record. All the keys, and the order in which they override
each other, are in the Veriqa:HopMode reference.
Every hop link is built on Veriqa:OpenIddict:Server:Issuer, so with hop mode on, the issuer must be
an absolute https address — otherwise the server does not start. To try hop mode on your own
machine, expose Veriqa through an HTTPS tunnel — see
Testing the integration locally.
Security
- It is not a link shortener. The server always derives where to send the user from the transaction, never from the link, so a hop link cannot be turned into an open redirect.
- The context of the scanning phone is a risk signal, not an authentication factor. It helps
spot a request that is not the user’s own, but the sign-in is still confirmed by the user in their
own messenger. The
HopMode.Collect*keys decide what is collected: IP, browser and device type are on by default; the browser fingerprint and geolocation only if you turn them on.