FireBase + React:TypeError:user.getToken 不是函数
Posted
技术标签:
【中文标题】FireBase + React:TypeError:user.getToken 不是函数【英文标题】:FireBase + React: TypeError: user.getToken is not a function 【发布时间】:2020-10-12 23:18:58 【问题描述】:这里的代码 signInWithEmailAndPassword 可以完美运行,但是当我尝试获取令牌时,总是会抛出错误 TypeError: user.getToken is not a function
。
import app from "./base.js";
app.auth()
.signInWithEmailAndPassword(email, password)
.then(function (user)
user.getToken().then(function (token)
localForage.setItem("token", token); // store the token
console.log("pusing forward");
history.push("/");
);
).catch((error) =>
console.log("err: " + error);
);
base.js
import firebase from "firebase/app";
import "firebase/auth";
const app = firebase.initializeApp(
apiKey: process.env.REACT_APP_FIREBASE_KEY,
authDomain: process.env.REACT_APP_FIREBASE_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_SENDER_ID,
);
export default app;
欢迎评论谢谢。
【问题讨论】:
【参考方案1】:根据signInWithEmailAndPassword() 的API 文档,user
是一个UserCredential 对象。它没有getToken
方法。也许您想使用它的user
属性来获取User 对象,该对象具有getIdToken() 方法。
user.user.getIdToken().then(token => ... )
这是调用signInWithEmailAndPassword(email, password)
后返回的对象user1
的峰值
【讨论】:
以上是关于FireBase + React:TypeError:user.getToken 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
哪个 Firebase javascript 包应该与 React Native 一起使用?常规的“Firebase Web SDK”还是“react-native-firebase”?
React:使用 firebase-ui 设置 firebase 身份验证
找不到模块“firebase”或其相应的类型声明。 React + TypeScript + Firebase