编辑:我在Facebook登录时找到a similar question specific。我正在使用电子邮件身份验证,但问题/解决方案可能是相同的。
我正在使用Firebase演示示例类 SignInViewController ,它在演示项目中运行良好。但是,当我尝试将它集成到我自己的项目中时,它会给我以下错误:
UserInfo = {NSUnderlyingError = 0x14704d4b0 {错误 Domain = FIRAuthInternalErrorDomain Code = 3"(null)" UserInfo = {FIRAuthErrorUserInfoDeserializedResponseKey = {type = immutable dict,count = 3,entries => 0:{contents =" message"} = {contents =" INVALID_EMAIL"} 1: errors = {type = immutable,count = 1,values =(0:{type = immutable dict,count = 3,entries => 0:reason =无效1: message = {contents = " INVALID_EMAIL"} 2:domain = global}
)} 2:code = {value = +400,type = kCFNumberSInt64Type}}}},error_name = ERROR_INTERNAL_ERROR,NSLocalizedDescription =内部 发生错误,打印并检查错误详细信息以获取更多信息 信息。}
我在应用的控制台上启用了电子邮件登录方法。
知道为什么会这样吗?
答案 0 :(得分:0)
检查dev.facebook中的设置"使用Facebook登录" - > "设置"并将正确的OAuth重定向URI从Firebase粘贴到 "有效的OAuth重定向URI"领域。接下来启用您的Facebook应用程序(应为绿色)。在代码粘贴中:
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
if error != nil {
self.showAlert(msg: AlertMessages.facebookLoginError)
return
}
if !result.isCancelled {
let token = FBSDKAccessToken.currentAccessToken().tokenString
let credential = FIRFacebookAuthProvider.credentialWithAccessToken(token)
FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
if let error = error {
UserAuthManager.sharedInstance.logoutFromFacebook()
if let errCode = FIRAuthErrorCode(rawValue: error.code) { // error
}
return
}
self.userDidSignedIn()
//Logged with FB!
}
}
}
记得在你的控制器中设置FBSDKLoginButtonDelegate。