> ## Documentation Index
> Fetch the complete documentation index at: https://veriqa.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign-in with account services: Google, Apple and others

> Sign-in with a QR code through a Google, Apple or other account — 80+ providers in all: the password is typed on the user's own phone, not on the device they sign in on.

Users sign in to your app with their Google, Apple, Huawei or other account —
[80+ providers in all](https://documentation.openiddict.com/integrations/web-providers). The flow is
the same as with messaging apps: the screen shows a QR code, the user signs in to their account on
their own phone and confirms there, and the sign-in completes on the screen. When signing in on the
same device, the user taps a single button. Users confirm actions the same way.

![Signing in on a computer with Google: the phone camera scans the QR code, the user picks a Google account, taps Yes on the confirmation page, and sees "Sign-in confirmed".](https://mintcdn.com/veriqa/ccCax_wh-JmrZJTK/images/examples/en-google-cross-device.webp?fit=max\&auto=format\&n=ccCax_wh-JmrZJTK\&q=85\&s=52f0152b194a72506f88d8f49a704db7)

With a QR code: the phone camera, a Google account, one tap on the confirmation page.

![Signing in on a phone with Google: the user taps "Sign in with Google", picks an account, allows access on the first sign-in, taps Yes, and sees "Sign-in confirmed".](https://mintcdn.com/veriqa/ccCax_wh-JmrZJTK/images/examples/en-google-phone.webp?fit=max\&auto=format\&n=ccCax_wh-JmrZJTK\&q=85\&s=7486885492d64617e628658b0baebcdf)

On the same device: a channel button, a Google account, one tap on the confirmation page. Google asks for consent only on the first sign-in.

## Why it is safer than the usual sign-in button

The usual "Sign in with Google" button opens the provider's sign-in in the browser of the device the
user signs in on, and the password is typed there. With a QR code, the account password is never
typed on that device, so malware on it has nothing to intercept. And since nobody types a password
each time, sessions can be kept shorter, which lowers the risk too.

## Why it is more convenient

* **No password to remember:** the user is usually signed in to their account on the phone already
  and only has to pick it.
* **No keyboard needed:** users can sign in on a TV and on other devices where a password cannot be
  typed.
* **No password on someone else's device:** if the password is needed after all, the user types it
  on their own phone rather than on a shared or work computer.
* **Outside the provider's ecosystem:** sign-in with Google works on an operating system without
  Google services and in a native app.
* **No messaging apps needed:** a user who has none of them can sign in too.

## Providers

For the five starting providers — Google, Apple, Huawei, Yandex and VK ID — it is known which user
data arrives and what to set up for it. Their cards are in the
[Sign-in with a provider account](https://veriqa.app/docs/guides/supported-channels.md#sign-in-with-a-provider-account) section
of the channel catalog. Any other provider of `OpenIddict.Client.WebIntegration` — Microsoft,
Facebook, GitHub, Okta, Keycloak and others — connects the same way; the providers for signing
people in are listed in
[Other providers for signing people in](https://veriqa.app/docs/guides/channels.md#other-providers-for-signing-people-in).

## How to connect

The channel ships in the core as the `Veriqa.Core.ChannelAdapter.WebProviders` package and is turned
on in configuration: one client registered with a provider is one channel. You need a public HTTPS
address for Veriqa and a client registered with the provider.

* Setup: the [Sign-in with a provider account](https://veriqa.app/docs/guides/channels.md#sign-in-with-a-provider-account)
  section of Channel setup.
* What the user sees step by step and why the phone asks a question: the
  [Sign-in with a provider account](https://veriqa.app/docs/scenarios/provider-account-sign-in.md) scenario.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.