Swift – 如何处理FIRUserInfo的FB Auth的数据?
我刚刚启动了Firebase的新SDK 。
let facebookLogin = FBSDKLoginManager() facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (facebookResult: FBSDKLoginManagerLoginResult!, facebookError: NSError!) in let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString) FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
之后,一边获取Facebook的信息,
我遇到了一个问题, 我怎样才能处理所有的人呢? :
var userData = ["id": FIRAuth.auth()?.currentUser?.uid as! AnyObject, // "accessToken": credential as! String, // "provider": user.provider!, "displayName": user?.providerData["displayName"], "email": user.providerData["email"] as! String, "profileImageURL": user.providerData["profileImageURL"] as! String, // "token": user.token as String, "createdAt": utcTimeZoneStr]
您现在必须添加for …以检索providerData。
if let user = FIRAuth.auth()?.currentUser { for profile in user.providerData { let providerId = profile.providerId let uid = profile.uid; // Provider-specific UID let name = profile.displayName let email = profile.email let photoUrl = profile.photoURL } } else { // No user is signed in. }
以下是FirAuth(当前用户)的属性: https ://firebase.google.com/docs/reference/ios/firebaseauth/interface_f_i_r_user#properties