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

# Quick Login

> Sign in with a Legal Identity by scanning a QR code and approving the request in Neuro Access

Quick Login lets a user share their Legal Identity with your application by approving a signed request in Neuro Access or another compatible identity app. Your application displays a QR code; the user scans it, reviews the purpose, and approves. The Neuron delivers the identity to your browser, backend, or Neuron HTTP session.

Start with the [live demo](/quick-login/live-demo) to see a real QR code and the returned identity, or follow the [browser quickstart](/quick-login/quickstart) to build the flow.

## How it works

```mermaid theme={null}
sequenceDiagram
    participant Browser
    participant Neuron
    participant App as Identity app
    Browser->>Neuron: Register a tab for client events
    Browser->>Neuron: POST /QuickLogin (purpose, mode, tab)
    Neuron-->>Browser: QR code and signUrl
    Browser-->>App: User scans QR or opens signUrl
    App->>App: User reviews and approves the request
    App->>Neuron: Signed approval
    Neuron-->>Browser: SignatureReceived(identity)
```

Each QR code is valid for **five minutes**. The reference browser client requests a new code every two seconds while waiting. QR responses only describe the request; identity information arrives separately after approval.

## Choose where the identity goes

| Mode                                                      | Receives the identity                                                                             | Use it for                                                           |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| [Browser only](/quick-login/quickstart)                   | The registered browser tab, through `SignatureReceived`.                                          | An interactive identity viewer or browser-only workflow.             |
| [Backend](/quick-login/backend)                           | Your HTTPS callback, correlated with `SessionId`. The browser receives a completion notification. | Signing a user into an application with its own backend.             |
| [Session](/quick-login/sessions)                          | The Neuron HTTP session, in `QuickLoginUser`.                                                     | Pages and scripts hosted on the Neuron.                              |
| [Session proxy](/quick-login/sessions#session-proxy-mode) | A Neuron session maintained by a client with cookies.                                             | A proxy integrating with the Agent API without a Neuron-hosted page. |

## What you need

* A Neuron offering the `/QuickLogin` service and client event transport.
* A user with a Legal Identity in an app accepted by that provider.
* A clear purpose explaining what the user is approving and how the identity will be used.
* For backend mode, a reachable HTTPS callback returning JSON.

Use your provider's domain consistently for QR requests, events, and sessions. The [public reference example](https://eu.quicklog.in/QuickLogin.md) configures `eu.id.tagroot.io` as its Neuron; the live demo uses that same host.

## Quick Login and the Agent API

`POST /QuickLogin` creates identity approval requests and QR codes. `POST /Agent/Account/QuickLogin` exchanges an existing Quick Login HTTP session for an Agent API JWT. They are separate endpoints with different request bodies.

Receiving an identity in the browser does not create a backend login, grant application permissions, or return an Agent API token. Choose the appropriate integration mode and establish your application's session and authorization separately.

Continue with the [REST reference](/quick-login/api-reference), [identity response](/quick-login/identity-response), and [troubleshooting](/quick-login/troubleshooting).
