Exemple #1
0
        public IActionResult ActivateNewUser([FromQuery] ForgetEmailReq emailReq)
        {
            try
            {
                if (!ValidateHelper.IsEmailFormat(emailReq.Email))
                {
                    return(Json(new JsonResultModel(ReturnCode.ParameterError, "Email format is not correct.")));
                }

                var activaeFactor = Client.ActivateNewUser(emailReq);

                //发送邮件
                string emailMessage;
                bool   send = EmailEvent.RegisterEmail(emailReq.Email, activaeFactor.UserId, activaeFactor.Code, out emailMessage);
                if (!send)
                {
                    return(Json(new JsonResultModel(ReturnCode.MessageError, $"Email send failed: {emailMessage}")));
                }

                return(Json(new JsonResultModel(ReturnCode.Success, "User active email send successful.")));
            }
            catch (RpcException)
            {
                return(Json(new JsonResultModel(ReturnCode.SubmitError, "Activate link is expired.")));
            }
        }
Exemple #2
0
        //[ProducesResponseType(typeof(UserReply), 200)]
        public IActionResult Signup([FromBody] RegisterReq register)
        {
            try
            {
                if (!ValidateHelper.IsEmailFormat(register.Email))
                {
                    return(Json(new JsonResultModel(ReturnCode.ParameterError, "Email format is not correct.")));
                }
                if (register.Password == "")
                {
                    return(Json(new JsonResultModel(ReturnCode.ParameterError, "Password should not blank.")));
                }
                if (register.DeviceId == "")
                {
                    return(Json(new JsonResultModel(ReturnCode.ParameterError, "Device id should not blank.")));
                }

                if (IsEnableInviteCode())
                {
                    register.EnableCode = true;
                    if (register.InviteCode == "")
                    {
                        return(Json(new JsonResultModel(ReturnCode.ParameterError, "Miss invite code parameter cannot complete register.")));
                    }
                }

                var     reply = Client.Signup(register);
                JObject data  = new JObject();
                data["Id"]        = reply.Id;
                data["Email"]     = reply.Email;
                data["Activated"] = reply.Activated.ToString();
                data["RegistIp"]  = reply.RegistIp;
                data["DeviceId"]  = reply.DeviceId;

                var factor = FactorClient.QueryFactor(new FactorReq()
                {
                    UserId = reply.Id, Type = FactorType.EmailAuthType
                });

                //发送邮件
                string emailMessage;
                bool   send = EmailEvent.RegisterEmail(reply.Email, reply.Id, factor.Code, out emailMessage);
                if (!send)
                {
                    return(Json(new JsonResultModel(ReturnCode.MessageError, $"Email send failed: {emailMessage}")));
                }

                return(Json(new JsonResultModel(ReturnCode.Success, "User register successful.", reply)));
            }
            catch (RpcException ex)
            {
                return(Json(new JsonResultModel(ReturnCode.SubmitError, ex.Status.Detail)));
            }
        }
Exemple #3
0
 public void SendEmailThread()
 {
     string emailMessage = "";
     bool   send         = EmailEvent.RegisterEmail("*****@*****.**", 38, "32425678", out emailMessage);
 }