Authentication
Configurează autentificarea email și OAuth pentru utilizatorii finali ai aplicației.
Authentication din V2 Cloud configurează modul în care utilizatorii aplicației tale se înregistrează și se autentifică — separat de contul tău de platformă OpenV2. Rulează pe Managed Better Auth de la Neon, activat automat pe aceeași bază de date ca datele aplicației tale.
Metode de autentificare
Email / parolă
Configurată prin tool-ul cloud_configure al agentului (sau cere AI-ului în chat):
- Permite login cu email/parolă
- Comută înregistrarea publică on sau off
- Fluxuri de verificare email (construiești tu UI-ul de verificare în aplicație — Managed Better Auth nu îl trimite automat)
OAuth
Google, GitHub, Microsoft și Vercel OAuth sunt suportate odată ce furnizezi un client id (și secret, dacă providerul îl cere). Sign in with Apple nu este încă disponibil pe Neon Auth.
Utilizare în aplicație
Aplicațiile generate apelează endpoint-ul de Auth scris în openv2/cloud/client.json (și, pentru iOS, clientul Swift generat Sources/OpenV2Cloud/OpenV2CloudClient.swift):
AI-ul configurează ecranele (login, signup, profil) când ceri autentificare.
Cont platformă vs. utilizatori aplicație
| Cont OpenV2 | Utilizatori aplicație (V2 Cloud) | |
|---|---|---|
| Scop | Construiești pe OpenV2 | Folosesc aplicația ta publicată |
| Stocare | Baza de date a platformei OpenV2 | Baza de date Neon a proiectului tău, schema neon_auth |
| Gestionare | Settings → Profile | V2 Cloud → User management |
Utilizatorii, sesiunile și configurația OAuth sunt stocate în schema neon_auth din propria bază de date Neon a proiectului — interogabilă prin SQL și compatibilă cu row level security.
Sfaturi de securitate
Avertisment: Nu încorpora niciodată un connection string Neon, o cheie API sau o parolă de bază de date în codul client. OpenV2 le păstrează pe server; aplicația generată primește doar URL-uri publice HTTPS.
- Activează row level security pe orice tabel pe care utilizatorii aplicației tale îl pot citi sau scrie, cu politici bazate pe
auth.user_id()(claim-ulsubdin JWT-ul apelantului) — nuauth.uid()de la Supabase. - Dezactivează înregistrarea publică dacă aplicația ta este doar pe invitație.
