Skip to main content

Sign-in with a QR code via messaging apps from a standard OIDC provider

Your application stays a plain OIDC client. Veriqa runs the sign-in page, the QR code and the confirmation in the messaging app on its own side.

  • 4–6 seconds to sign in, even the first time (measurements).
  • 7 popular messaging apps and one-tap email built in, plus a Google or Apple account and 80+ other services (all channels).
  • Open source under MPL-2.0. Keep the sign-in methods you have and add Veriqa next to them.
  • 15–30 minutes to add it to your website.
  • Any stack with an OpenID Connect library. No frontend SDK needed.
  • A standard OpenID Connect provider on your own servers: Docker or an OS service.
  • On .NET: a NuGet connector for OpenIddict.

What it takes to connect: three values

Basic scenarios

The app starts the sign-in and gets ordinary OpenID Connect tokens, whichever channel the user picks. On WhatsApp the user sends a prepared message first.

Sign-in with a QR code on a computer, TV or kiosk

Signing in through Veriqa: the app sends the browser to the sign-in page by an OpenID Connect redirect, the sign-in window shows a QR code, the phone camera scans it, the user confirms in the messaging app, Veriqa redirects back, and the app gets ordinary OpenID Connect tokens with claims such as sub, name, phone_number and email.

Sign-in on a phone

Signing in on a phone: the user taps the button of a messaging app on the sign-in page, confirms in the messaging app and is signed in.

Approving an action

Veriqa also handles approval of AI agent actions and risky operations: deleting important data, changing payment details, granting access to another person.

Approving an action: the app shows a QR code for the action, the phone camera scans it, the user confirms in the messaging app, and the answer goes back to the app.

Collecting extra details

When the app needs data the channel does not supply, the user adds it during the sign-in: a phone number from the messaging app, a confirmed email, the fields of a short form.

Learn more — documentation

Collecting extra details, an animation: after the confirmation the messaging app asks for the phone number, a form asks only for what is missing, the user confirms the email with a ready-made message and finishes the sign-in.

All use cases

Three values to connect

A public client with PKCE needs only the issuer address, the client ID and the redirect URI. Moving to another deployment changes only the issuer address.

VERIQA_ISSUER=https://auth.your-domain.com
VERIQA_CLIENT_ID=my-app
APP_REDIRECT_URI=https://your-app.example/callback

Works with your stack

.NET

Embed the auth server in your application through NuGet packages, or add Veriqa as a connector on top of OpenIddict.

The .NET quickstart

Any other stack

Node, Java, Python, Go, PHP: no Veriqa package is needed, only a standard OIDC client. In an IAM such as Logto, Veriqa is added as an ordinary social connector.

The Node.js quickstart

CMS

Sign-in through Veriqa has been tested on WordPress, Drupal, Joomla, TYPO3 and Bitrix. These CMS platforms treat Veriqa as an ordinary external OIDC provider.

Learn more — documentation

Where Veriqa runs

NuGet packages for a .NET application

The auth server is embedded in your .NET application and runs in its process.

Docker or Kubernetes container

A ready-made image of the auth server that runs next to your application, inside your perimeter.

Executable for Windows or Linux

A self-contained file registered as a Windows service or a systemd unit — no Docker and no .NET runtime on the machine.

What stays under your control

Data

The database, the keys and the logs stay on your infrastructure, and Veriqa keeps no user directory.

Security and data handling

Source code and limitations

The source code is open and the known limitations are documented, so you can check both before you decide.

Making the case to your team?

The page for business covers sign-in costs, the experience for customers and what it takes to launch.

Open the page for business