从 Firebase.initializeApp() 获取令牌

Posted

技术标签:

【中文标题】从 Firebase.initializeApp() 获取令牌【英文标题】:Get token from Firebase.initializeApp() 【发布时间】:2021-05-29 14:09:25 【问题描述】:

当我使用 Facebook 登录时,我会得到一个质量更好的 photoURL,如下所示:

...
FacebookAccessToken myToken = facebookUser.accessToken;
if (myToken == null) 
   return false;

AuthCredential credential = FacebookAuthProvider.credential(myToken.token);
...
User user = (await FirebaseAuth.instance.signInWithCredential(credential)).user;
this.facebookPhotoURL = user.photoURL + "/picture?height=600&access_token=" + myToken.token;

这工作正常,我可以通过我需要的高度,但是当我刷新应用程序的状态或重新启动它时,我没有执行此登录,我只是通过这样做来获取用户:

await Firebase.initializeApp();

我怎样才能从这个或从其他方法获取令牌?

【问题讨论】:

【参考方案1】:

Firebase 会保留 Firebase 身份验证的凭据,以便在应用重新启动时恢复它。但是,它不会保留 Facebook 凭据(因为在初始登录后不需要它们)。

因此,虽然您可以从 Firebase SDK 获取 Firebase 令牌,但如果您还想获取 Facebook 访问令牌,您必须自己保留该令牌,或者再次调用 Facebook SDK。

【讨论】:

我知道如果我保存该令牌,它会在某些时候失效,对吧?还是在我保存该会话之前使用/有效的相同令牌?如果是这样,那么解决方案很简单

以上是关于从 Firebase.initializeApp() 获取令牌的主要内容,如果未能解决你的问题,请参考以下文章

未创建任何 firebase 应用程序“默认” - 调用 firebase.initializeapp()

firebase.initializeApp 不是本机反应的功能

没有创建 Firebase 应用 [DEFAULT] = 调用 Firebase.initializeApp()

没有创建 Firebase 应用“[DEFAULT]” - 在 Flutter 和 Firebase 中调用 Firebase.initializeApp()

尽管调用了 Firebase.initializeApp(),但 Firebase 未初始化

TypeError:firebase.initializeApp 不是函数