Beispiel #1
0
        public string Login(string username, string password)
        {
            try
            {
                using (MySqlConnection conn = new MySqlConnection(ConnectionString))
                {
                    if (conn.State != System.Data.ConnectionState.Open)
                    {
                        conn.Open();
                    }

                    MySqlCommand command = conn.CreateCommand();
                    command.CommandText = String.Format("Select * from admins where username='******'", username);

                    MySqlDataReader reader = command.ExecuteReader();
                    if (false == reader.Read())
                    {
                        return(sJavaSerializer.Serialize(new Response()
                        {
                            success = false
                        }));
                    }

                    // extend the validity by 1 hour
                    refreshToken((int)reader["id"]);

                    // get the new data
                    reader.Close();
                    reader = command.ExecuteReader();
                    if (reader.Read())
                    {
                        AdminsObject adminObj = new AdminsObject()
                        {
                            id       = (int)reader["id"],
                            name     = (string)reader["display_name"],
                            username = (string)reader["username"],
                            token    = (string)reader["token"]
                        };

                        return(sJavaSerializer.Serialize(new Response()
                        {
                            success = true, payload = adminObj
                        }));
                    }
                }
            }
            catch (Exception ex)
            {
                return(sJavaSerializer.Serialize(new Response()
                {
                    success = false, message = ex.Message
                }));
            }

            return(sJavaSerializer.Serialize(new Response()
            {
                success = false
            }));
        }
Beispiel #2
0
        public string FirstTimeLogin(string username)
        {
            try
            {
                using (MySqlConnection conn = new MySqlConnection(ConnectionString))
                {
                    if (conn.State != System.Data.ConnectionState.Open)
                    {
                        conn.Open();
                    }

                    MySqlCommand command = conn.CreateCommand();
                    command.CommandText = String.Format("Select * from admins where username='******'", username);

                    MySqlDataReader reader = command.ExecuteReader();
                    if (false == reader.Read())
                    {
                        return(sJavaSerializer.Serialize(new Response()
                        {
                            success = false
                        }));
                    }

                    if ((string)reader["password"] != string.Empty)
                    {
                        return(sJavaSerializer.Serialize(new Response()
                        {
                            success = false
                        }));
                    }

                    // generate new token
                    string newToken = Guid.NewGuid().ToString();

                    AdminsObject adminObj = new AdminsObject()
                    {
                        id       = (int)reader["id"],
                        name     = (string)reader["display_name"],
                        username = username,
                        token    = newToken
                    };

                    // update the token with new validity
                    reader.Close();
                    command.CommandText = String.Format("Update admins set token='{1}', validity='{2}' where username='******'",
                                                        username, newToken, DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"));
                    command.ExecuteNonQuery();


                    return(sJavaSerializer.Serialize(new Response()
                    {
                        success = true, payload = adminObj
                    }));
                }
            }
            catch (Exception ex)
            {
                return(sJavaSerializer.Serialize(new Response()
                {
                    success = false, message = ex.Message
                }));
            }
        }