public IHttpActionResult GenerateToken()
        {
            int    userId = UserSecurity.GetUserId(Thread.CurrentPrincipal.Identity.Name);
            string token  = TokenHandler.GenerateRandomNumber(20);

            TokenHandler.StoreToken(userId, token);
            AuthReturnObject response = new AuthReturnObject(token, DateTime.Now, DateTime.Now.AddHours(24), "TokenHandler", "84900");

            return(Ok(response));
        }
        public IHttpActionResult ResetPassword(ResetPasswordRequest request)
        {
            int userId = UserSecurity.GetUserId(request.UserName);

            if (request.SecretCode != null && request.SecretCode == secretResetCode)
            {
                ResetUserPassword(request.NewPassword, userId);
                return(Ok());
            }
            else if (UserSecurity.Login(request.UserName, request.OldPassword))
            {
                //password matches user
                ResetUserPassword(request.NewPassword, userId);
                return(Ok());
            }
            return(Content(HttpStatusCode.Unauthorized, "Password or secret code does not match."));
        }
Пример #3
0
        /// <summary>
        /// After user has logged in do some actions
        /// </summary>
        public static void OnPostLogon(string userName, string csrUserName = null)
        {
            var customerId = UserSecurity.GetUserId(userName);
            var contact    = UserClient.GetCustomer(customerId.ToString(CultureInfo.InvariantCulture), false);

            if (!string.IsNullOrEmpty(csrUserName))
            {
                CustomerSession.CsrUsername = csrUserName;
            }

            if (contact != null)
            {
                var lastVisited = contact.ContactPropertyValues.FirstOrDefault(x => x.Name == ContactPropertyValueName.LastVisit);


                if (lastVisited != null)
                {
                    lastVisited.DateTimeValue = DateTime.UtcNow;
                }
                else
                {
                    lastVisited = new ContactPropertyValue
                    {
                        Name          = ContactPropertyValueName.LastVisit,
                        DateTimeValue = DateTime.UtcNow,
                        ValueType     = PropertyValueType.DateTime.GetHashCode()
                    };
                    contact.ContactPropertyValues.Add(lastVisited);
                }

                if (!string.IsNullOrEmpty(csrUserName))
                {
                    var lastVisitedByCsr = new ContactPropertyValue
                    {
                        Name           = ContactPropertyValueName.LastVisitCSR,
                        DateTimeValue  = DateTime.UtcNow,
                        ShortTextValue = string.Format("CSR username: {0}", csrUserName),
                        ValueType      = PropertyValueType.DateTime.GetHashCode()
                    };
                    contact.ContactPropertyValues.Add(lastVisitedByCsr);
                }
                UserClient.SaveCustomerChanges(contact.MemberId);
            }
        }