Пример #1
0
    // deserialize login result data
    public bool Deserialize(ref LoginResultData data)
    {
        // set deserialize data
        bool result = (GetDataSize() > 0) ? true : false;

        // data read failure -> method exit
        if (!result)
        {
            return(false);
        }

        // return data initialize
        bool   loginResult = false;
        string message     = null;

        // data deserizlize
        result &= Deserialize(ref loginResult);
        result &= Deserialize(ref message, (int)GetDataSize());

        // input data
        data.loginResult = loginResult;
        data.message     = message;

        // return result
        return(result);
    }
Пример #2
0
        private static void UpdateLoginData(User user, ResultInfo result)
        {
            try
            {
                if (user.Data == null)
                {
                    user.Data = new LoginData();
                }

                LoginResultData data = result.Data;

                user.Data.AccessKey = data.TokenInfo.AccessToken;
                user.Data.Cookie    = string.Join(";", data.CookieInfo.Cookies.Select(t => t.Name + "=" + t.Value));
                CookiesItem cookie = data.CookieInfo.Cookies.SingleOrDefault(t => t.Name == "bili_jct");
                if (cookie == null)
                {
                    throw new Exception("Can not get csrf by cookie.");
                }
                user.Data.Csrf         = cookie.Value;
                user.Data.RefreshToken = data.TokenInfo.RefreshToken;
                cookie = data.CookieInfo.Cookies.SingleOrDefault(t => t.Name == "DedeUserID");
                if (cookie == null)
                {
                    throw new Exception("Can not get uid by cookie.");
                }
                user.Data.Uid = data.CookieInfo.Cookies.SingleOrDefault(t => t.Name == "DedeUserID").Value;
            }
            catch (Exception ex)
            {
                throw new Exception($"Update user login data failed. {ex.Message}");
            }
        }
Пример #3
0
        private async Task Run(string profileId, ProfileData profile, LoginResultData tokens = null)
        {
            if (_ui.HideOnRun)
            {
                _ui.SetWindowVisible(false);
            }

            try {
                if (tokens == null)
                {
                    await _runner.Run(profileId, profile, _ui.UserName);
                }
                else
                {
                    await _runner.Run(profileId, profile, _ui.UserName, tokens.ClientToken, tokens.AccessToken);
                }
            }
            catch (Exception) {
                _ui.ShowErrorMessage(_tr._("Something went wrong while minecraft running! See details in the log."));
            }

            if (_ui.HideOnRun)
            {
                _ui.SetWindowVisible(true);
            }
        }
Пример #4
0
    public void ReceiveLoginResult(byte[] data)
    {
        // receive packet serialize
        LoginResultPacket receivePacket  = new LoginResultPacket(data);
        LoginResultData   joinResultData = receivePacket.GetData();

        Console.WriteLine(joinResultData.loginResult);
        Console.WriteLine(joinResultData.message);
    }
Пример #5
0
 public void RunApplication()
 {
     while (!m_ExitSignal)
     {
         LoginResultData LoginResultData = m_AppSettings.RememberUser && !string.IsNullOrEmpty(m_AppSettings.LastAccessToken) ?
                                           connectWithLastUser() :
                                           showLoginForm();
         DialogResult appDialogResult = showApplicationForm(LoginResultData);
         m_ExitSignal = appDialogResult == DialogResult.Cancel || LoginResultData.LoginDialogResult == DialogResult.Cancel;
     }
 }
Пример #6
0
        public ApplicationForm(LoginResultData i_LoginResultData, AppSettings i_AppSettings)
        {
            m_LoggedInUser    = InputGuard.CheckNullArgument(i_LoginResultData, nameof(i_LoginResultData)).User;
            m_AppSettings     = InputGuard.CheckNullArgument(i_AppSettings, nameof(i_AppSettings));
            m_SettingsHandler = AppXmlSettingsHandler.Instance;
            m_LastAccessToken = i_LoginResultData.AccessToken;
            m_AlbumsUser      = m_LoggedInUser;
            m_UserMatcher     = new UserMatcher();

            InitializeComponent();
            CenterToScreen();
            setFormViewBySettings();
        }
Пример #7
0
        private DialogResult showApplicationForm(LoginResultData i_LoginFormResult)
        {
            DialogResult dialogResult = DialogResult.OK;

            if (i_LoginFormResult.LoginDialogResult == DialogResult.OK)
            {
                m_ApplicationForm = new ApplicationForm(i_LoginFormResult, m_AppSettings);
                dialogResult      = m_ApplicationForm.ShowDialog();
                m_ApplicationForm.Dispose();
            }

            return(dialogResult);
        }
Пример #8
0
        private LoginResultData RenewAuthorizationToken(LoginResultData currentToken)
        {
            Thread.Sleep(1000); // must delay at least 1 second so the expiry time is different
            SetAuthHeaderToken(currentToken.AccessToken);
            var result = _httpClient.PostAsJsonAsync(ExtendTokenQuery, new { rtoken = currentToken.RenewalToken }).Result;

            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            var token = result.Content.ReadAsAsync <LoginResultData>().Result;

            Assert.IsNotNull(token);
            LogText(@"RenewedToken => " + JsonConvert.SerializeObject(token));
            return(token);
        }
Пример #9
0
        private IHttpActionResult ReplyWith(LoginResultData result)
        {
            if (result == null)
            {
                return(this.Unauthorized());
            }

            if (!string.IsNullOrEmpty(result.Error))
            {
                // HACK: this will return the scheme with the error message as a challenge; non-standard method
                return(this.Unauthorized(new AuthenticationHeaderValue(JwtController.AuthScheme, result.Error)));
            }

            return(this.Ok(result));
        }
Пример #10
0
    // serialize login result data
    public bool Serialize(LoginResultData data)
    {
        // clear buffer
        Clear();

        // serialize element
        bool result = true;

        result &= Serialize(data.loginResult);
        result &= Serialize(data.message);

        // failure serialize -> method exit
        if (!result)
        {
            return(false);
        }

        // success serialize -> return result
        return(true);
    }
Пример #11
0
        private LoginResultData showLoginForm()
        {
            DialogResult dialogResult = DialogResult.Retry;

            while (dialogResult == DialogResult.Retry)
            {
                m_LoginForm  = new LoginForm(m_loginClient);
                dialogResult = m_LoginForm.ShowDialog();
                m_LoginForm.Dispose();
            }

            LoginResultData loginResultData = new LoginResultData
            {
                LoginDialogResult = m_LoginForm.DialogResult,
                AccessToken       = m_LoginForm.AccessToken,
                User = m_LoginForm.User
            };

            return(loginResultData);
        }
Пример #12
0
        // login request
        public void ReceiveLoginRequest(Socket clientSocket, byte[] data)
        {
            // packet serialize
            LoginRequestPacket receivePacket    = new LoginRequestPacket(data);
            LoginRequestData   loginRequestData = receivePacket.GetData();

            // process
            bool   result;
            string resultString;

            result = dataProcessor.LoginPlayer(clientSocket, loginRequestData.id, loginRequestData.password, out resultString);

            // make result data
            LoginResultData sendData = new LoginResultData();

            sendData.loginResult = result;
            sendData.message     = resultString;

            //make result packet
            LoginResultPacket sendPacket = new LoginResultPacket(sendData);

            // send result packet
            networkProcessor.Send(clientSocket, sendPacket);
        }