Exemplo n.º 1
0
        public Response <RegistrationResponse> Delete([FromBody] LoginAttempt login)
        {
            var response = new RegistrationResponse()
            {
                Successful = false
            };
            var service = new Tete.Api.Services.Authentication.LoginService(this.context);
            var token   = HttpContext.Request.Cookies[Constants.SessionTokenName];
            var user    = service.GetUserVMFromToken(token);
            var session = service.Login(login);
            var user2   = service.GetUserVMFromToken(session.Token);

            if (user != null && session != null && user2 != null && user.UserId == user2.UserId)
            {
                try
                {
                    service.DeleteAccount(user.UserId, user);
                    response.Successful = true;
                }
                catch { }
            }

            if (!response.Successful)
            {
                response.Messages.Add("Unable to delete account due to login issues.");
            }

            return(new Response <RegistrationResponse>(response));
        }
Exemplo n.º 2
0
        public Response <RegistrationResponse> RegisterNewLogin([FromBody] LoginAttempt login)
        {
            var token   = HttpContext.Request.Cookies[Constants.SessionTokenName];
            var service = new Tete.Api.Services.Authentication.LoginService(this.context);

            return(new Response <RegistrationResponse>(service.RegisterNewLogin(token, login)));
        }
Exemplo n.º 3
0
        public Response <RegistrationResponse> Login([FromBody] LoginAttempt login)
        {
            var service  = new Tete.Api.Services.Authentication.LoginService(this.context);
            var token    = HttpContext.Request.Cookies[Constants.SessionTokenName];
            var user     = service.GetUserVMFromToken(token);
            var response = new RegistrationResponse();

            if (user == null || (user != null && user.Roles.Contains("Guest")))
            {
                var session = service.Login(login);

                if (session != null)
                {
                    if (user != null)
                    {
                        service.DeleteAccount(user.UserId, user);
                    }

                    SetTokenCookie(session.Token);
                    response.Successful = true;
                }
                else
                {
                    response.Messages.Add("Invalid Login");
                    response.Successful = false;
                }
            }
            else
            {
                response.Messages.Add("You're already logged in!");
                response.Successful = false;
            }

            return(new Response <RegistrationResponse>(response));
        }
Exemplo n.º 4
0
        public Response <RegistrationResponse> AdminDelete([FromBody] RoleUpdate login)
        {
            var response = new RegistrationResponse()
            {
                Successful = false
            };
            var service = new Tete.Api.Services.Authentication.LoginService(this.context);
            var token   = HttpContext.Request.Cookies[Constants.SessionTokenName];
            var user    = service.GetUserVMFromToken(token);

            if (user != null)
            {
                try
                {
                    service.DeleteAccount(login.UserId, user);
                    response.Successful = true;
                }
                catch { }
            }

            if (!response.Successful)
            {
                response.Messages.Add("Failed to delete account.");
            }

            return(new Response <RegistrationResponse>(response));
        }
Exemplo n.º 5
0
        public IActionResult Logout()
        {
            var token   = HttpContext.Request.Cookies[Constants.SessionTokenName];
            var service = new Tete.Api.Services.Authentication.LoginService(this.context);

            service.Logout(token);

            HttpContext.Response.Cookies.Delete(Constants.SessionTokenName);

            return(Redirect("/Login"));
        }
Exemplo n.º 6
0
        public UserVM CurrentUser()
        {
            var service = new Tete.Api.Services.Authentication.LoginService(this.context);
            var token   = HttpContext.Request.Cookies[Constants.SessionTokenName];

            var user = service.GetUserVMFromToken(token);

            if (user == null)
            {
                var session = service.GetNewAnonymousSession();
                SetTokenCookie(session.Token);

                user = service.GetUserVMFromToken(session.Token);
            }

            return(user);
        }
Exemplo n.º 7
0
        public IActionResult Index(string userName, string userPassword)
        {
            IActionResult direction = Redirect("/");
            var           service   = new Tete.Api.Services.Authentication.LoginService(this.context);
            var           session   = service.Login(
                new LoginAttempt()
            {
                UserName = userName,
                Password = userPassword
            }
                );

            if (session != null)
            {
                SetTokenCookie(session.Token);
            }
            else
            {
                direction = View("Index", "Invalid Login");
            }

            return(direction);
        }
Exemplo n.º 8
0
        public Response <UserVM> GetUser(string userName)
        {
            var service = new Tete.Api.Services.Authentication.LoginService(this.context);

            return(new Response <UserVM>(service.GetUserVMFromUsername(userName, CurrentUser())));
        }