Ejemplo n.º 1
0
        public static short RegistrationSource2AdminDashboardIndex(this CommonEnums.eRegistrationSources source)
        {
            switch (source)
            {
            case CommonEnums.eRegistrationSources.LFE:
                return(1);

            case CommonEnums.eRegistrationSources.WIX:
                return(2);

            case CommonEnums.eRegistrationSources.FB:
                return(3);

            case CommonEnums.eRegistrationSources.WORDPRESS:
                return(4);

            default:
                return(999);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create/Update account for facebook login from widget toolbar.
        /// </summary>
        /// <param name="access_token"></param>
        /// <param name="registrationSource"></param>
        /// <param name="email"></param>
        /// <param name="error"></param>
        /// <param name="trackingId"></param>
        /// <returns></returns>
        public bool CreateOrUpdateFbAccountAndLoginWidgetUser(string access_token, CommonEnums.eRegistrationSources registrationSource, out string email, out string error, string trackingId = null) //, bool tryMatch = false
        {
            email = string.Empty;
            try
            {
                var result = VerifyFbUserAccessToken(access_token);

                if (!result.IsSuccessful || result.UserName == null)
                {
                    error = result.Error != null ? result.Error.Message : "Authentication failed";
                    return(false);
                }

                //if (tryMatch)
                //{
                bool providerApproved;
                //try match by social credentials
                var user = _userAccountServices.TryFoundUserBySocialCredentials(result.UserName, result.ProviderUserId, CommonEnums.SocialProviders.Facebook, out providerApproved, out error);

                if (user != null)
                {
                    if (user.FacebookId == null)
                    {
                        _userAccountServices.UpdateUserFbUserId(user.UserId, result.ProviderUserId);
                    }

                    return(CreateAuthenticationTicket(user.Email, string.Empty, trackingId, out error));
                }
                //}

                return(CreateOrUpdateExternalAccountAndLoginUser(result, out email, out error, trackingId, registrationSource) && CreateAuthenticationTicket(email, string.Empty, trackingId, out error));
            }
            catch (Exception ex)
            {
                error = Utils.FormatError(ex);
                return(false);
            }
        }
Ejemplo n.º 3
0
        public ActionResult ExternalLoginCallback(string returnUrl, string trackingId, CommonEnums.eRegistrationSources registrationSource = CommonEnums.eRegistrationSources.LFE)
        {
            string error;

            string email;

            var isAccountCreated = CreateOrUpdateExternalAccountAndLoginUser(out email, out error, trackingId, registrationSource);

            if (isAccountCreated && !String.IsNullOrEmpty(email))
            {
                return(SignInUser(new LoginDTO {
                    Email = email
                }, returnUrl));
            }

            return(ReturnLoginError(error));
        }
Ejemplo n.º 4
0
 public ActionResult ExternalLogin(string provider, string returnUrl, string trackingId, CommonEnums.eRegistrationSources registrationSource = CommonEnums.eRegistrationSources.LFE)
 {
     return(new ExternalLoginResult(provider, Url.Action("ExternalLoginCallback", new { returnUrl, trackingId, registrationType = registrationSource })));
 }
Ejemplo n.º 5
0
        /// <summary>
        /// check external and create user profile (account) for old lfe users
        /// </summary>
        /// <param name="email"></param>
        /// <param name="error"></param>
        /// <param name="trackingId"></param>
        /// <param name="registrationSource"></param>
        /// <returns></returns>
        private bool CreateOrUpdateExternalAccountAndLoginUser(out string email, out string error, string trackingId, CommonEnums.eRegistrationSources registrationSource)
        {
            email = string.Empty;
            try
            {
                var result = OAuthWebSecurity.VerifyAuthentication();

                if (!result.IsSuccessful || result.UserName == null)
                {
                    error = result.Error != null ? result.Error.Message : "Authentication failed";
                    return(false);
                }

                //check if email registered in LFE
                var user = _userAccountServices.FindUserByEmail(result.UserName);

                if (user == null)
                {
                    return(CreateOrUpdateExternalAccountAndLoginUser(result, out email, out error, trackingId, registrationSource));
                }

                email = user.Email;

                return(CreateAuthenticationTicket(user.Email, string.Empty, trackingId, out error));
            }
            catch (Exception ex)
            {
                error = Utils.FormatError(ex);
                return(false);
            }
        }
Ejemplo n.º 6
0
 private bool CreateOrUpdateExternalAccountAndLoginUser(AuthenticationResult result, out string email, out string error, string trackingId, CommonEnums.eRegistrationSources registrationSource)
 {
     return(_userAccountServices.CreateOrUpdateExternalAccountAndLoginUser(result, out email, out error, trackingId, registrationSource, GetReferrer()));
 }
Ejemplo n.º 7
0
 private void UpdateStoreRegistrationSource(WebStores entity, CommonEnums.eRegistrationSources source)
 {
     entity.RegistrationSourceId = (byte)source;
     WebStoreRepository.UnitOfWork.CommitAndRefreshChanges();
 }