我已经在 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
返回得很好。
怎么了?
谢谢!
我正在使用
Firebase 10.8.0
尝试这种方式。
private var user = FirebaseAuth.Auth.auth().currentUser
print(user?.photoURL?.absoluteString ?? "")