Beispiel #1
0
        public HttpResponseMessage PasswordRecovery(PasswordRecoveryForm form)
        {
            var formValidation = form.Validate();

            if (formValidation.IsValid)
            {
                try
                {
                    // TODO: populate the recovery options based on the provided email
                    form.CanAnswerSecurityQuestion = true;
                    form.CanResetPassword          = true;
                    form.CanSendSmSCode            = true;

                    form.SecurityQuestion = "What is my dog's name?";

                    return(CreateSuccessResponse(new { success = true, results = form }));
                }
                catch (Exception ex)
                {
                    return(CreateErrorResponse(ex));
                }
            }

            // invalid parameters, generate response
            return(CreateInvalidResponse(formValidation));
        }
Beispiel #2
0
        public HttpResponseMessage RecoverPassword(PasswordRecoveryForm form)
        {
            var formValidation = form.Validate();

            if (formValidation.IsValid)
            {
                try
                {
                    // TODO: finish this section
                    if (form.IsAnsweringSecurityQuestion)
                    {
                    }
                    else if (form.IsResettingPassword)
                    {
                        var host  = HttpContext.Current.Request.ServerVariables["HTTP_HOST"];
                        var token = AuthenticationSecurity.GeneratePasswordResetToken(form.Email);

                        if (!string.IsNullOrWhiteSpace(host))
                        {
                            // create the reset message
                            StringBuilder sb    = new StringBuilder();
                            var           body1 = string.Format("You have requested your password to be reset. Follow the provided link:\n");
                            //var body2 = string.Format("http://{0}/api/account/incomingtoken?param={1}", host, token);
                            var body2 = string.Format("http://{0}/#/reset?param={1}", host, token);

                            sb.Append(body1);
                            sb.AppendLine();
                            sb.AppendLine();
                            sb.Append(body2);

                            // send the password reset message
                            //Obsequy.Communication.Email.PasswordReset(form.Email, "BuildShark Password Reset", sb.ToString());
                            Obsequy.Communication.Mailer mailer = new Communication.Mailer();
                            mailer.DeliverMessage(form.Email, "Password Reset", sb.ToString());
                        }
                    }
                    else if (form.IsSendingSmSCode)
                    {
                    }


                    // request successful
                    return(CreateSuccessResponse(new { success = true }));
                }
                catch (Exception ex)
                {
                    return(CreateErrorResponse(ex));
                }
            }

            // invalid parameters, generate response
            return(CreateInvalidResponse(formValidation));
        }
Beispiel #3
0
 public void OnGet()
 {
     PasswordRecoveryForm = new PasswordRecoveryForm();
 }