0
안녕하세요 저는 Firebase Facebook 인증을 시도했습니다.iOS firebase authentication with Facebook
그러나 몇 가지 문제가 있습니다. 나는 중포 기지, 에 의해 페이스 북 이메일을받을 수 있지만 내가 로그인 성공 후보기를 변경할 경우, 나는 중포 기지 인증 콘솔 내 페이스 북 이메일을 확인하실 수 있습니다
Auth.auth().currentUser?.email
에 의해 페이스 북 이메일을 얻을 수 없습니다.
Google 및 일반 이메일 인증이 작동하지만 페이스 북은 아닙니다.
이
내 코드class ViewController: UIViewController, GIDSignInUIDelegate, FBSDKLoginButtonDelegate{
// facebook Login
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult?, error: Error!) {
if result?.token == nil {return}
let credential = FacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
Auth.auth().signIn(with: credential) { (user, error) in
if let error = error {
print(error)
return
}
}
FBSDKLoginManager().logOut()
}
// facebook logout
func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
}
@IBOutlet weak var email: UITextField!
@IBOutlet weak var password: UITextField!
@IBOutlet weak var facebookLogin: FBSDKLoginButton!
override func viewDidLoad() {
super.viewDidLoad()
GIDSignIn.sharedInstance().uiDelegate = self
facebookLogin.delegate = self
facebookLogin.readPermissions = ["email"]
Auth.auth().addStateDidChangeListener { (user, error) in
if user != nil {
self.performSegue(withIdentifier: "home", sender: nil)
}
}
}
@IBAction func googleSignBtn(_ sender: Any) {
GIDSignIn.sharedInstance().signIn()
}
@IBAction func emailLogin(_ sender: Any) {
Auth.auth().createUser(withEmail: self.email.text!, password: self.password.text!) { (user, error) in
if error != nil {
Auth.auth().signIn(withEmail: self.email.text!, password: self.password.text!, completion: { (user, error) in
})
}else{
let alert = UIAlertController(title: "Alert", message: "Sign up Success!", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Confirm", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
}
}
}
}