Example #1
0
        public object Login(LoginData data)
        {
            if (!OneTimeKeyCenter.Use(data.temp_key))
            {
                return new { code = ResultCode.InvalidTempKey }
            }
            ;

            bool?result = UserStore.Login(data.user_name, data.temp_key, data.pwd_hash);

            if (result == null)
            {
                return new { code = ResultCode.UserDoesNotExist }
            }
            ;
            else if (result == false)
            {
                return new { code = ResultCode.WrongPassword }
            }
            ;

            string session_key = UserCenter.Create(data.user_name);

            return(new
            {
                code = ResultCode.Success,
                session_key = session_key
            });
        }
Example #2
0
        public object Register(RegisterData data)
        {
            Trace.TraceInformation("Register. user_name={0}, pwd_token={1}.", data.user_name, data.pwd_token);

            bool is_lau = data.user_name[0] == '_';

            string check_name = is_lau ? data.user_name.Substring(1) : data.user_name;

            if (check_name.Length < 2 ||
                check_name.Length > 100 ||
                !Util.WithinCharSetUserName(check_name))
            {
                return new { code = ResultCode.InvalidUserName }
            }
            ;

            if (!UserStore.Register(data.user_name, data.pwd_token))
            {
                return new { code = ResultCode.UserNameOccupied }
            }
            ;

            string session_key = UserCenter.Create(data.user_name);

            return(new
            {
                code = ResultCode.Success,
                session_key = session_key
            });
        }