Firebase身份验证是否存储和管理不同提供商的访问令牌

时间:2020-04-20 14:30:37

标签: firebase flutter facebook-graph-api firebase-authentication facebook-access-token

我正在开发一个Flutter应用程序,用户将使用Facebook登录。稍后,我想访问facebook graph API,然后需要用户的访问令牌。

我现在将访问令牌存储在Firestore中,并从那里进行评估。但是有什么方法可以用来从currentUser获取访问令牌。因为在当前情况下访问权限随后到期,因此我需要一次又一次刷新它。 firebase会自动处理吗?

下面是我的代码,我使用它们使用Firebase登录Facebook。

FacebookLogin facebookLogin = new FacebookLogin();
FacebookLoginResult result = await facebookLogin.logIn(['email', 'public_profile', 'user_friends']);
switch (result.status) {
    case FacebookLoginStatus.loggedIn:
        AuthCredential authCredential = FacebookAuthProvider.getCredential(accessToken: result.accessToken.token);
            FirebaseUser user = (await FirebaseAuth.instance.signInWithCredential(authCredential)).user;
        //Here I save user details in firestore
}

1 个答案:

答案 0 :(得分:0)

为此,您将需要通过Facebook的登录系统设置自己的令牌。当您使用Facebook登录时,可以对其进行配置,使其令牌也为Facebook令牌。

签出this以获得从头开始的Facebook登录名。

还有this用于创建自定义Firebase令牌。