如何在 Firebase currentUser 获取 credential.accessToken ?(Firebase Google 登录)

Luc*_*ade 5 credentials token access-token firebase reactjs

我正在使用 firebase Sign in Google 来签署我的用户(React web 应用程序) 我正在设置一个提供商来访问用户 google 云端硬盘信息:

provider.addScope('https://www.googleapis.com/auth/drive.readonly');
let { user, additionalUserInfo, credential } = await firebase.auth()
                                                      .signInWithPopup(provider);
Run Code Online (Sandbox Code Playgroud)

这样我就可以credential.accessToken向 G Drive API 发出请求

但是当我需要获取 currentUser 时:

firebase.auth().onAuthStateChanged(async user => {
Run Code Online (Sandbox Code Playgroud)

我找不到credential.accessToken对象user

有什么办法可以访问它吗?

或者当用户首次登录时我需要使用该令牌存储一个新的 cookie?

我努力了:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    user.getIdToken().then(function(data) {
      console.log(data)
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

来自:Firebase getToken() TypeError:无法读取属性

但该函数仅返回accessToken登录用户,它确实具有相同的名称,但它是不同的令牌。