1
resposta

Preciso na api pegar o UID do firebase authentication, como implemento isso se aqui tudo esta sem logar

Sou iniciante e no app tenho apos logado a home, estas implementações coloco nesta homeScreen? pois preciso pegar o uid do firebaseauthentication e gravar no mysql php (api), aqui está tudo no Main, o que preciso mudar para funcionar?

1 resposta

Fala, Gerson! Tudo certo?

Sim, o ideal é que você modularize seu código e remova essa lógica do main.dart. Aqui está um direcionamento para estruturar melhor:

  1. Pegando o uid do usuário logado

    Você pode obter o uid da pessoa usuária autenticada com o código a seguir, a partir de qualquer parte da aplicação:

    String? uid = FirebaseAuth.instance.currentUser?.uid;
    

    O uso de ?. evita erros caso a pessoa usuária ainda não tenha feito login. Se precisar garantir que está autenticado antes de prosseguir:

    if (FirebaseAuth.instance.currentUser != null) {
        String uid = FirebaseAuth.instance.currentUser!.uid;
    }
    
  2. Organizando seu código

    Em vez de manter tudo no main.dart, uma estrutura básica poderia ser:

    lib/
    ├── screens/
    │   ├── home_screen.dart
    ├── services/
    │   ├── api_service.dart
    ├── main.dart
    
    • home_screen.dart: Apenas a UI da tela inicial.
    • api_service.dart: Funções para comunicação com o MySQL via API.
    • main.dart: Apenas configurações iniciais e roteamento.

Se quiser aprofundar mais no uso do Firebase Authentication com Flutter, recomendo este curso na Alura.

Bons estudos!