【问题标题】:How do I get an access token for Firebase Authentication?如何获取 Firebase 身份验证的访问令牌?
【发布时间】:2018-11-07 03:09:02
【问题描述】:

我在我的项目中使用 Firebase 和 FirebaseUI。我想给用户一个选项来删除他的帐户,但如果用户在应用程序中的时间超过 5 分钟,我需要再次重新验证。

我不知道如何在下面的方法中填写这些参数:

 + (FIRAuthCredential *)credentialWithProviderID:(NSString *)providerID
                                accessToken:(NSString *)accessToken;

有了我可以调用的凭据

- (void)reauthenticateAndRetrieveDataWithCredential:(FIRAuthCredential *) credential
                                     completion:(nullable FIRAuthDataResultCallback) completion

我知道 ProviderId 来自:

Auth.auth().currentUser.providerID

但是我如何获得访问令牌?

【问题讨论】:

  • 通过快速扫描,您似乎从提供商那里得到了这个。见stackoverflow.com/a/47338505/209103stackoverflow.com/a/38253448/209103
  • @FrankvanPuffelen 我使用 Firebase UI 5.0。所以这个方法: let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString) 不再存在还是什么?我使用 FUIFacebookAuth 类,但是当 Auth.auth().currentUser 不是 nil 时,当我跳过登录时,即使 FBSDKAccessToken.currentAccessToken() 返回 nil?还是用户总是需要登录?
  • 在 FirebaseUI-iOS 中,访问令牌似乎是通过 FUIFacebookAuth: github.com/firebase/FirebaseUI-iOS/blob/… 公开的。不过,我不确定访问它的确切方法。
  • @FrankvanPuffelen 我可以访问它,但是当我重新启动应用程序时它为零。

标签: swift firebase firebase-authentication


【解决方案1】:

你可以调用这个函数来获取Token!

Swift 代码:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        if let refreshedToken = InstanceID.instanceID().token() {
            print("InstanceID token: \(refreshedToken)")
        }
    }

【讨论】:

    猜你喜欢
    • 2019-03-05
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多