feat(auth): koppla login/register till Firebase → /v1/auth/session (AUTH-5)

This commit is contained in:
Sven (AAMOS AI)
2026-08-15 20:47:11 +07:00
parent 8352c3a0ce
commit 5f547708ae
3 changed files with 15 additions and 7 deletions
+6 -2
View File
@@ -2,6 +2,7 @@ import { useState } from "react";
import { Text, View } from "react-native";
import { Link, Redirect, router } from "expo-router";
import { api } from "@/lib/api";
import { firebaseAuthProvider } from "@/lib/auth-provider/firebase";
import { useAuth, type AuthUser } from "@/lib/auth";
import { t } from "@/lib/i18n";
import { Body, Button, Input, Screen, Spacer, Title } from "@/components/ui";
@@ -27,9 +28,12 @@ export default function LoginScreen() {
setBusy(true);
setError(null);
try {
const result = await api<LoginResponse>("/v1/auth/login", {
await firebaseAuthProvider.signInWithEmail(email.trim(), password);
const idToken = await firebaseAuthProvider.getIdToken();
if (!idToken) throw new Error(t("common.error"));
const result = await api<LoginResponse>("/v1/auth/session", {
method: "POST",
body: { email, password },
body: { idToken },
});
await setSession(
{ accessToken: result.accessToken, refreshToken: result.refreshToken },
+7 -4
View File
@@ -2,6 +2,7 @@ import { useState } from "react";
import { Text, View } from "react-native";
import { Link, router } from "expo-router";
import { api } from "@/lib/api";
import { firebaseAuthProvider } from "@/lib/auth-provider/firebase";
import { persistLanguageTag, useAuth, type AuthUser } from "@/lib/auth";
import { detectDeviceLanguageTag, t } from "@/lib/i18n";
import { localeDefaultsForRegion } from "@app/shared-types";
@@ -28,13 +29,15 @@ export default function RegisterScreen() {
setBusy(true);
setError(null);
try {
const result = await api<RegisterResponse>("/v1/auth/register", {
await firebaseAuthProvider.signUpWithEmail(email.trim(), password);
const idToken = await firebaseAuthProvider.getIdToken();
if (!idToken) throw new Error(t("common.error"));
const result = await api<RegisterResponse>("/v1/auth/session", {
method: "POST",
body: {
idToken,
displayName,
email,
password,
// D-031: enhetens språk backend skapar locale-preferenser före välkomstmejlet.
// D-031: enhetens språk backend skapar locale-preferenser.
locale: detectDeviceLanguageTag() ?? "sv-SE",
},
});