У меня проблема, когда я пытаюсь проверить свою аутентификацию на базе firebase!Я хочу проверить соединение с моей базой данных, но я попытался войти в систему, не зарегистрировав пользователя, но моя функция обрабатывает ошибки, это всегда дает мне ошибку по умолчанию
Мой класс аутентификации:
import Foundation
import FirebaseAuth
typealias LoginHandler = (_ msg: String?) -> Void;
struct LoginErrorCode {
static let INVALID_EMAIL = "Invalid Email";
static let WRONG_PASSWORD = "Wrong Password";
static let PROBLEM_CONNECTING = "Problem Connecting";
static let USER_NOT_FOUND = "User not found"
static let EMAIL_ALREADY_IN_USE = "Email Already in Use";
static let WEAK_PASSWORD = "Weak Password";
}
class AuthProvider {
private static let _instance = AuthProvider();
static var Instance: AuthProvider {
return _instance;
}
func login(withEmail: String, password: String, loginHandler: LoginHandler?){
Auth.auth().signIn(withEmail: withEmail, password: password, completion: {(user, error) in
if error != nil {
self.handleErrors(err: error as! NSError, loginHandler: loginHandler)
} else {
loginHandler?(nil);
}
});
}
func signUp(withEmail: String, password: String, loginHandler: LoginHandler?){
Auth.auth().createUser(withEmail: withEmail, password: password) { (user, error) in
if error != nil {
self.handleErrors(err: error as! NSError, loginHandler: loginHandler);
} else {
if user?.user.uid != nil {
self.login(withEmail: withEmail, password: password, loginHandler: loginHandler);
}
}
};
}
private func handleErrors(err: NSError, loginHandler: LoginHandler?){
if let errCode = AuthErrorCode(rawValue: err.code){
switch errCode {
case .wrongPassword:
loginHandler?(LoginErrorCode.WRONG_PASSWORD);
break;
case .invalidEmail:
loginHandler?(LoginErrorCode.INVALID_EMAIL);
break;
case .userNotFound:
loginHandler?(LoginErrorCode.USER_NOT_FOUND);
break;
case .emailAlreadyInUse:
loginHandler?(LoginErrorCode.EMAIL_ALREADY_IN_USE);
break;
case .weakPassword:
loginHandler?(LoginErrorCode.WEAK_PASSWORD);
break;
default:
loginHandler?(LoginErrorCode.PROBLEM_CONNECTING);
break;
}
}
}
} // class
Я изменил методы входа в консоль на Email / Password на yes, и в настоящее время у меня есть ключ API.
Есть идеи о том, в чем проблема?