firebase 我在数据库中存储UID时遇到问题

bxjv4tth  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(189)

这是错误
获取标记java. util. concurrent时出错。执行异常:防火墙未登录用户异常:请先登录,然后再尝试获取令牌。W/NetworkRequest(10820):请求W/NetworkRequest没有授权令牌(10820):没有请求的应用程序检查令牌。E/flutter(10820):[错误:flutter/运行时/dart_vm_initializer. cc(41)]未处理的异常:空值E/flutter(10820)上使用的空检查运算符:#0_signupState.build.(软件包:电商/认证/注册. dart:161:28)E/flutter(10820):E/扑动(10820):
我认为错误是在uid,因为当使用id它注册成功。如果我的代码是错误的,那么请告诉我如何存储。这是我的代码

final uid =auth.currentUser!.uid ;
auth.createUserWithEmailAndPassword(email: emailcontroller.text.toString(), password: passcontroller.text.toString()).then((signin){
  ref.doc(uid).set({
    "id":uid,
"name":namecontroller.text.toString(),
    "email":emailcontroller.text.toString(),
    "password":passcontroller.text.toString(),
    "phone":phonecontroller.text.toString(),
    "imageurl":url1.toString()
  })
e5nqia27

e5nqia271#

在应用程序中注册之前,您正在使用uid。请尝试以下代码:

var uid;
await auth.createUserWithEmailAndPassword(email: emailcontroller.text.toString(), password: passcontroller.text.toString()).then((signin){
uid =auth.currentUser!.uid ;
  ref.doc(uid).set({
    "id":uid,
"name":namecontroller.text.toString(),
    "email":emailcontroller.text.toString(),
    "password":passcontroller.text.toString(),
    "phone":phonecontroller.text.toString(),
    "imageurl":url1.toString()
  })

相关问题