如何在 firebase 版本 9 中使用 getIdToken() auth 方法?
How to use the getIdToken() auth method in firebase version 9?
如何在 firebase 版本 9 中使用 getIdToken()
身份验证方法?
在版本 8 中是这样工作的
import firebase from "firebase";
const token = await firebase.auth().currentUser.getIdToken(/* forceRefresh */ false);
我在版本 9 中尝试过,但它不起作用
import { getIdToken } from "firebase/auth";
const token = await getIdToken(/* forceRefresh */ false);
我也在下面尝试过,但它不起作用
import { getAuth } from "firebase/auth";
const auth = getAuth();
const { currentUser } = auth;
const token = await currentUser.getIdToken(/* forceRefresh */ false);
getIdToken()
函数采用 User
作为参数,而不是 name-spaced SDK 中的 refreshToken
布尔值。
import { getIdToken, onAuthStateChanged } from "firebase/auth";
onAuthStateChanged(auth, async (user) => {
if (user) {
const token = await getIdToken(user);
}
});
就错误而言,getAuth()
returns 身份验证实例但用户的身份验证状态现在可能已经加载。在 onAuthStateChanged
中尝试 运行 或按照@Frank 的建议添加空检查。
看起来 getIdToken()
函数在最新版本 (9.6.6) 中接受两个参数:用户和布尔值。所以,这是我的工作代码:
import { getAuth, getIdToken } from "firebase/auth"
const auth = getAuth()
const { currentUser } = auth
const token = await getIdToken(currentUser, true)
如何在 firebase 版本 9 中使用 getIdToken()
身份验证方法?
在版本 8 中是这样工作的
import firebase from "firebase";
const token = await firebase.auth().currentUser.getIdToken(/* forceRefresh */ false);
我在版本 9 中尝试过,但它不起作用
import { getIdToken } from "firebase/auth";
const token = await getIdToken(/* forceRefresh */ false);
我也在下面尝试过,但它不起作用
import { getAuth } from "firebase/auth";
const auth = getAuth();
const { currentUser } = auth;
const token = await currentUser.getIdToken(/* forceRefresh */ false);
getIdToken()
函数采用 User
作为参数,而不是 name-spaced SDK 中的 refreshToken
布尔值。
import { getIdToken, onAuthStateChanged } from "firebase/auth";
onAuthStateChanged(auth, async (user) => {
if (user) {
const token = await getIdToken(user);
}
});
就错误而言,getAuth()
returns 身份验证实例但用户的身份验证状态现在可能已经加载。在 onAuthStateChanged
中尝试 运行 或按照@Frank 的建议添加空检查。
看起来 getIdToken()
函数在最新版本 (9.6.6) 中接受两个参数:用户和布尔值。所以,这是我的工作代码:
import { getAuth, getIdToken } from "firebase/auth"
const auth = getAuth()
const { currentUser } = auth
const token = await getIdToken(currentUser, true)