Пример #1
0
        public override void Handle(OperationResponse response)
        {
            LogResponse(response);
            if (response.ReturnCode == (short)ReturnCode.Ok)
            {
                LoginReturnCode loginCode = (LoginReturnCode)(int)response.Parameters[(byte)ParameterCode.Status];
                if (loginCode == LoginReturnCode.Ok)
                {
                    string login   = response.Parameters[(byte)ParameterCode.Login] as string;
                    string gameRef = response.Parameters[(byte)ParameterCode.GameRefId] as string;

                    Events.EventLoginSuccess(login, gameRef);

                    //app.player.SetLogin(login);
                    //app.player.SetGameRef(gameRef);

                    app.logger.PushColor(ConsoleColor.Gray);
                    app.logger.Log("{0}->{1} successfully logged in", app.player.login, app.player.gameRef);
                    app.logger.PopColor();
                }
                else
                {
                    app.logger.PushColor(ConsoleColor.Red);
                    app.logger.Log(response.ToStringFull());
                    app.logger.PopColor();
                    Events.EventLoginFailed(response.GetLoginReturnCodeParameter(ParameterCode.Status));
                }
            }
        }
Пример #2
0
 private void Events_e_LoginFailed(LoginReturnCode code)
 {
     if (code == LoginReturnCode.UserNotFound)
     {
         Command("register buratino 87e898AA [email protected]");
     }
 }
Пример #3
0
 public static void EventLoginFailed(LoginReturnCode code)
 {
     if (e_LoginFailed != null)
     {
         e_LoginFailed(code);
     }
 }
Пример #4
0
        public void ProcessRequest(HttpContext context)
        {
            Stream          sm            = context.Request.InputStream;
            StreamReader    inputData     = new StreamReader(sm);
            string          DataString    = inputData.ReadToEnd();
            LoginReturnCode newRetureCode = new LoginReturnCode();

            try
            {
                CheckPhoneLoginInfo newPhoneLoginInfo = LitJson.JsonMapper.ToObject <CheckPhoneLoginInfo>(DataString);
                CodeData            _CodeData         = PhoneCode.GPhoneCode.CheckCode(newPhoneLoginInfo.CountryCode,
                                                                                       newPhoneLoginInfo.PhoneNum, newPhoneLoginInfo.PhoneCode);
                if (_CodeData == null)
                {
                    newRetureCode.code = 4;
                    newRetureCode.msg  = "无效验证码";
                    PhoneCodeLogin.SendStringToClient(context, LitJson.JsonMapper.ToJson(newRetureCode));
                    return;
                }
                string Passw  = CommonTools.CreatePassWord(12);
                int    UserId = -1;
                if (AddAccount(_CodeData.PhoneNum, CommonTools.GetMD5Hash(Passw), newPhoneLoginInfo.Mac, newRetureCode,
                               out UserId))
                {
                    //AppleInapp.AddScore(600, UserId);
                    newRetureCode.code = 0;
                    newRetureCode.msg  = Passw;
                }
            }
            catch (Exception exp)
            {
                newRetureCode.code = 100;
                newRetureCode.msg  = DataString + "--" + exp.Message.ToString() + "-" + exp.StackTrace;
            }
            PhoneCodeLogin.SendStringToClient(context, LitJson.JsonMapper.ToJson(newRetureCode));
        }
Пример #5
0
        public override OperationResponse Handle(OperationRequest request, SendParameters sendParameters)
        {
            RegisterUserRequest operation = new RegisterUserRequest(peer.Protocol, request);

            if (!operation.IsValid)
            {
                return(new OperationResponse(request.OperationCode)
                {
                    ReturnCode = (short)ReturnCode.InvalidOperationParameter,
                    DebugMessage = operation.GetErrorMessage()
                });
            }
            operation.Prepare();

            if (!mLoginUtils.IsLoginLengthValid(operation.login))
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.LoginVeryShort
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }

            string password = StringChiper.Decrypt(operation.encryptedPassword);

            if (!mLoginUtils.IsPasswordLengthValid(password))
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.PasswordVeryShort
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }

            if (!mLoginUtils.IsLoginCharactersValid(operation.login))
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.LoginHasInvalidCharacters
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }

            if (!mLoginUtils.IsPasswordCharactersValid(password))
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.PasswordHasInvalidCharacters
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }

            var emailChecker = new RegexUtilities();

            if (!emailChecker.IsValidEmail(operation.email))
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.EmailInvalid
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }



            var database = application.DbUserLogins;

            if (database.ExistsUser(new LoginId(operation.login)))
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.UserWithSameLoginAlreadyExists
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }

            var emailUser = database.GetUser(new Email(operation.email));

            if (emailUser != null)
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)LoginReturnCode.UserWithSuchEmailAlreadyExists
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }


            LoginReturnCode code = LoginReturnCode.Ok;


            LoginAuth   loginAuth = new LoginAuth(operation.login, password);
            Email       email     = new Email(operation.email);
            FacebookId  fbId      = new FacebookId(operation.facebookId);
            VkontakteId vkId      = new VkontakteId(operation.vkontakteId);

            var dbUser = database.CreateUser(loginAuth, email, fbId, vkId);

            FullUserAuth fullAuth = new FullUserAuth(loginAuth.login, dbUser.gameRef, fbId.value, vkId.value, string.Empty);


            string platform = string.Empty;

            if (operation.platform != null)
            {
                platform = operation.platform;
            }

            (peer as LoginClientPeer).SetLogin(new LoginId(loginAuth.login));
            application.LogedInUsers.OnUserLoggedIn(fullAuth, peer as LoginClientPeer);
            application.stats.OnUserLoggedIn(fullAuth, platform);

            if (code != LoginReturnCode.Ok)
            {
                RegisterUserResponse responseObject = new RegisterUserResponse {
                    login      = operation.login,
                    gameRef    = string.Empty,
                    returnCode = (int)code
                };
                return(new OperationResponse(request.OperationCode, responseObject));
            }

            RegisterUserResponse successResponseObject = new RegisterUserResponse {
                gameRef    = dbUser.gameRef,
                login      = dbUser.login,
                returnCode = (int)code
            };

            return(new OperationResponse(request.OperationCode, successResponseObject));
        }
Пример #6
0
 public LoginReturnMessage(string message, LoginReturnCode returnCode)
 {
     Message    = message;
     ReturnCode = returnCode;
 }