Firebase 始终为 photoURL 返回 null

问题描述 投票:0回答:1

我已经在 Swift 中使用 Firebase Auth 实现了 Google 登录。

如果我在这里打印

imageUrl

private func authenticateUser(for user: GIDGoogleUser?, with error: Error?) {
    if let error = error {
        print(error.localizedDescription)
        return
    }
    
    guard let user = user, let idToken = user.idToken?.tokenString else { return }
    
    let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: user.accessToken.tokenString)
    
    Auth.auth().signIn(with: credential) { [unowned self] (_, error) in
        if let error = error {
            print(error.localizedDescription)
        } else {
            print(user.profile?.imageURL(withDimension: 36)?.absoluteString) // This works
        }
    }
}

这会打印出个人资料 URL 没有问题。

但是身份验证成功后,我认为这是:

private var user = Auth.auth().currentUser

print(user?.photoURL?.absoluteString ?? "")

photoURL
在这里始终为空。尽管
user?.email
返回得很好。

怎么了?

谢谢!

swift firebase-authentication google-signin
1个回答
0
投票

我正在使用

Firebase 10.8.0
尝试这种方式。

private var user = FirebaseAuth.Auth.auth().currentUser
print(user?.photoURL?.absoluteString ?? "")
© www.soinside.com 2019 - 2024. All rights reserved.