首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ios Firebase身份验证错误

Ios Firebase身份验证错误
EN

Stack Overflow用户
提问于 2018-06-05 02:01:20
回答 1查看 382关注 0票数 0

当我尝试测试我的firebase认证时,我遇到了一个问题!我想测试与数据库的连接,但是我尝试在没有注册用户的情况下登录,但是我的函数处理错误,它总是给我默认的错误

我的身份验证类:

代码语言:javascript
复制
    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密钥。

你知道问题应该是什么吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-05 02:59:39

为了更好地诊断问题,如果您还没有,可以使用以下命令启用调试日志

-FIRAnalyticsDebugEnabled

以获得更好的错误信息。在Xcode方案编辑器中:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50686328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档