> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Autenticazione nativa

Gestisci il percorso di ritorno del browser e le sessioni memorizzate su mobile.

## Installazione e configurazione

Prima di qualsiasi passaggio, leggere [Prima di iniziare](https://supastack.dev/it/docs/web/before-you-start.md) e [Nozioni di base sui terminali](https://supastack.dev/it/docs/web/terminal-basics.md). Queste istruzioni presuppongono che tu abbia aperto l'intero supastack monorepo in VS Code; la sua radice package.json contrassegna la radice del repository. Nei comandi pnpm, un pacchetto dell'area di lavoro è un'app o una cartella di codice condiviso; nel prodotto, uno spazio di lavoro è il contenitore dei dati di un team e il limite di sicurezza. corepack pnpm --filter ... seleziona un pacchetto dal monorepo mentre i comandi vengono eseguiti dalla sua radice. Se hai aperto solo una cartella mobile o desktop sincronizzata, non contiene il backend Web, la configurazione di Docker o gli script root: esegui il backend da questo monorepo o da un server ospitato raggiungibile e utilizza gli script della cartella della piattaforma. Una variabile di ambiente è un'impostazione denominata memorizzata in un file .env locale o nel dashboard dell'hosting; riavvia l'app pertinente dopo averla modificata e mantieni i segreti del server fuori dai valori NEXT_PUBLIC_ e EXPO_PUBLIC_.

1. Apri apps/mobile/src/auth/client.ts e apps/mobile/src/auth/mobile-auth-configuration.ts in VS Code per trovare il flusso di accesso esistente.

2. Inserisci EXPO_PUBLIC_API_URL e EXPO_PUBLIC_APP_SCHEME in apps/mobile/.env.local e assicurati che il server Web abbia le proprie impostazioni in apps/web/.env.local.

3. Dalla root avviare Web con corepack pnpm --filter @supastack/web dev, quindi in un altro terminale avviare Expo con corepack pnpm --filter @supastack/mobile start. Previsto: un accesso di prova apre il browser e torna all'app per dispositivi mobili. Su un telefono fisico, utilizza l'indirizzo Wi-Fi/LAN raggiungibile del computer per API; phone-localhost indica il telefono stesso.

L'app mobile usa l'integrazione Better Auth Expo e lo storage sicuro nativo. L'origin API e lo scheme dell'app devono corrispondere alla configurazione nativa e al flusso di ritorno consentito dal server di auth.

```
EXPO_PUBLIC_API_URL=https://your-api.example
EXPO_PUBLIC_APP_SCHEME=supastack
```


## Comandi da copiare

Segui i commenti per vedere in quale cartella viene eseguito un comando. Se due terminali sono etichettati, apri due finestre di terminale e mantieni il primo comando in esecuzione mentre usi il secondo.

```
# Terminal 1 — Web API (from the monorepo root):
corepack pnpm --filter @supastack/web dev

# Terminal 2 — Expo app (from the monorepo root):
corepack pnpm --filter @supastack/mobile start
```


## Flusso di implementazione

Segui il client di auth nativo esistente invece di copiare le supposizioni dei cookie web sul mobile. Apri l'auth del provider tramite il flusso browser configurato, gestisci il suo callback, poi risolvi la sessione autenticata prima di presentare le azioni protette.

Mantieni l’accesso annullato distinto dall’accesso riuscito. I membri possono attivare il blocco biometrico dell’app (Face ID, Touch ID o impronta digitale in `apps/mobile/src/security/app-lock.ts` in Impostazioni → Sicurezza) per proteggere il ritorno in primo piano. Cancella la presentazione locale dell’utente precedente e la cache di lettura offline associata al workspace (`apps/mobile/src/offline/`) alla disconnessione, e verifica che la sessione del server non possa più eseguire operazioni protette.


## Verifica e risoluzione dei problemi

Se l'accesso apre un browser ma non ritorna all'app, controlla che EXPO_PUBLIC_APP_SCHEME corrisponda allo schema in apps/mobile/app.config.ts. Se l'app non riesce a raggiungere il server, sostituisci localhost con l'indirizzo LAN del computer, conferma che entrambi i dispositivi utilizzano la stessa rete, quindi riavvia Expo dopo aver modificato apps/mobile/.env.local. Expo Go è un'interfaccia utente anteprima; l'accettazione nativa dell'acquisto richiede una build di sviluppo EAS.

Esercita callback a freddo, ritorno a un'app in esecuzione, login annullato e sessioni scadute nel build target. Se il browser torna ma l'app resta disconnessa, ispeziona la corrispondenza dello scheme e la raggiungibilità dell'API prima di cambiare la configurazione del provider.


Per continuare la configurazione, leggi [Entitlement mobile](https://supastack.dev/it/docs/mobile/entitlements.md).


## Successivo

[API mobile](https://supastack.dev/it/docs/mobile/api.md)
