Firebase를 사용하여 Facebook에서 로그인을 구현 중입니다. 이메일에 대한 성공적인 페이스 북 인증 후 내 데이터베이스를 검색하는이 코드가 있습니다. 이 메소드가 비동기이기 때문에 사용자를 등록보기 컨트롤러로 보내지 만 발견되지 않으면 작동하지 않습니다. 누구든지 도와 주시면 감사하겠습니다. 내 코드는 다음과 같습니다.Firebase를 사용하는 Facebook 로그인 - Swift iOS
func getFacebookUserInfo() {
if(FBSDKAccessToken.current() != nil){
let graphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields" : "id,name,gender,email,education"])
let connection = FBSDKGraphRequestConnection()
connection.add(graphRequest, completionHandler: { (connection, result, error) -> Void in
let data = result as! [String : AnyObject]
let email = data["email"] as? String
let emailRef = FIRDatabase.database().reference().child("usernameEmailLink")
emailRef.queryOrderedByValue().observe(.childAdded, with: { snapshot in
if let snapshotValue = snapshot.value as? [String: AnyObject] {
for (key, value) in snapshotValue {
if(value as? String == email){
self.stringMode = snapshotValue["mode"]! as! String
self.username = key
self.parseUserInfoFromJSON()
return
}
}
}
})
})
connection.start()
}
}
고맙습니다.
질문이 약간 명확하지 않으므로 대답하기가 어렵습니다. 사용자가 Facebook 인증을 사용하여 인증하면 인증을받습니다. 그런 다음 전자 메일을 검색하는 이유는 무엇입니까? Firebase Facebook API는 Firebase 사용자를 선행으로 만듭니다. [Facebook 인증] (https://firebase.google.)의 4 ~ 5 단계를 참조하십시오. – Jay
@Jay 내 응용 프로그램에 사용자가 등록되어 있어야합니다. – Reem
그게 무슨 뜻인지는 분명하지 않지만 찾고자하는 답을 세웠습니다. – Jay