/// <summary> /// Get values from module config and load them into data members /// </summary> /// <param name="forEdit"></param> public void Load(Guid id) { using (var context = GigyaDSContext.Get()) { // get settings for site or global settings or new settings var siteSettingsAndGlobal = context.Settings.Where(i => i.SiteId == id || i.SiteId == Guid.Empty).ToList(); var settings = siteSettingsAndGlobal.FirstOrDefault(i => i.SiteId == id) ?? siteSettingsAndGlobal.FirstOrDefault() ?? new GigyaSitefinityModuleDsSettings { SiteId = id, Mappings = new List <GigyaSitefinityDsMapping>() }; // let client know that the data has been retrieved - hack as there is no "loaded" sitefinity client side event this.LoadedField = "Loaded"; var mappingFields = settings.Mappings.Select(Map).OrderBy(i => i.CmsFieldName).ToList(); this.MappingFields = JsonConvert.SerializeObject(mappingFields, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); this.SiteId = settings.SiteId; this.Method = settings.Method; // get a list of available profile properties this.ProfileProperties = JsonConvert.SerializeObject(SitefinityUtils.GetProfileProperties().OrderBy(i => i.Value)); } }
private void LoginToSitefinityAdmin(int timeout = 0) { if (_sitefinityAdminDriver != null) { return; } _sitefinityAdminDriver = new FirefoxDriver(); SitefinityUtils.LoginToSitefinity(_sitefinityAdminDriver, timeout); }
// GET: LoginStatus public ActionResult Index() { var currentIdentity = ClaimsManager.GetCurrentIdentity(); if (!currentIdentity.IsAuthenticated) { return(new EmptyResult()); } // check if Sitefinity is the session leader and sign in if required GigyaAccountHelper.ProcessRequestChecks(System.Web.HttpContext.Current); var viewPath = FileHelper.GetPath("~/Mvc/Views/GigyaLogout/Index.cshtml", ModuleClass.ModuleVirtualPath + "Gigya.Module.Mvc.Views.GigyaLogout.Index.cshtml"); var model = new GigyaLogoutViewModel { Label = StringHelper.FirstNotNullOrEmpty(Label, "Logout"), LoggedOutUrl = SitefinityUtils.GetPageUrl(LogoutPageId) }; return(View(viewPath, model)); }
// GET: LoginStatus public ActionResult Index() { var currentIdentity = ClaimsManager.GetCurrentIdentity(); if (currentIdentity.IsAuthenticated) { // check if Sitefinity is the session leader and sign in if required GigyaAccountHelper.ProcessRequestChecks(System.Web.HttpContext.Current); return(new EmptyResult()); } if (RenderMethod != Constants.Resources.Designer.EmbeddedScreen) { GenerateContainer = false; ContainerId = null; } var viewPath = FileHelper.GetPath("~/Mvc/Views/GigyaLogin/Index.cshtml", ModuleClass.ModuleVirtualPath + "Gigya.Module.Mvc.Views.GigyaLogin.Index.cshtml"); var model = new GigyaLoginViewModel { Label = StringHelper.FirstNotNullOrEmpty(Label, "Login"), ContainerId = ContainerId, GeneratedContainerId = string.Concat("gigya-container-", Guid.NewGuid()), MobileScreenSet = MobileScreenSet, ScreenSet = StringHelper.FirstNotNullOrEmpty(ScreenSet, "Default-RegistrationLogin"), StartScreen = StartScreen, LoggedInUrl = SitefinityUtils.GetPageUrl(LoggedInPage) }; if (RenderMethod == Constants.Resources.Designer.EmbeddedScreen && (GenerateContainer || string.IsNullOrEmpty(model.ContainerId))) { model.ContainerId = model.GeneratedContainerId; } return(View(viewPath, model)); }
/// <summary> /// Get values from module config and load them into data members /// </summary> /// <param name="forEdit"></param> public void Load(Guid id) { using (var context = GigyaContext.Get()) { // get settings for site or global settings or new settings var siteSettingsAndGlobal = context.Settings.Where(i => i.SiteId == id || i.SiteId == Guid.Empty).ToList(); var settings = siteSettingsAndGlobal.FirstOrDefault(i => i.SiteId == id) ?? siteSettingsAndGlobal.FirstOrDefault() ?? new GigyaSitefinityModuleSettings { SiteId = id, EnableRaas = true }; // map settigs to this this.ApiKey = settings.ApiKey; this.ApplicationKey = settings.ApplicationKey; // check if user can view application secret var identity = ClaimsManager.GetCurrentIdentity(); this.CanViewApplicationSecret = identity.IsAuthenticated && Connector.Admin.Roles.HasRole(identity); if (CanViewApplicationSecret && !string.IsNullOrEmpty(settings.ApplicationSecret) && Encryptor.IsConfigured) { var key = TryDecryptApplicationSecret(settings.ApplicationSecret, false); if (!string.IsNullOrEmpty(key)) { this.ApplicationSecretMasked = StringHelper.MaskInput(key, "*", 2, 2); } } this.LoadedField = "Loaded"; settings.DataCenter = Core.Connector.Helpers.GigyaSettingsHelper.MapOldDataCenter(settings.DataCenter); this.DataCenter = string.IsNullOrEmpty(settings.DataCenter) || Core.Constants.DataCenter.DataCenters.Contains(settings.DataCenter) ? settings.DataCenter : string.Empty; this.DataCenterOther = settings.DataCenter; this.DebugMode = settings.DebugMode; this.EnableRaas = settings.EnableRaas; this.GlobalParameters = settings.GlobalParameters; this.Language = settings.Language; this.LanguageOther = settings.Language; this.LanguageFallback = settings.LanguageFallback; this.SessionTimeout = settings.SessionTimeout; this.SessionProvider = settings.SessionProvider; this.GigyaSessionMode = settings.GigyaSessionMode; var mappingFields = !string.IsNullOrEmpty(settings.MappingFields) ? JsonConvert.DeserializeObject <List <MappingField> >(settings.MappingFields) : new List <MappingField>(); AddMappingField(Constants.GigyaFields.UserId, Constants.SitefinityFields.UserId, ref mappingFields, true); AddMappingField(Constants.GigyaFields.FirstName, Constants.SitefinityFields.FirstName, ref mappingFields, true); AddMappingField(Constants.GigyaFields.LastName, Constants.SitefinityFields.LastName, ref mappingFields, true); AddMappingField(Constants.GigyaFields.Email, Constants.SitefinityFields.Email, ref mappingFields, true); // required fields first mappingFields = mappingFields.Where(i => !i.Required || !string.IsNullOrEmpty(i.CmsFieldName)).OrderByDescending(i => i.Required).ThenBy(i => i.CmsFieldName).ToList(); this.MappingFields = JsonConvert.SerializeObject(mappingFields, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); this.LogoutUrl = settings.LogoutUrl; this.RedirectUrl = settings.RedirectUrl; this.SiteId = settings.SiteId; // get a list of available profile properties var profileProperties = SitefinityUtils.GetProfileProperties(); profileProperties.Add(new KeyValuePair <string, string>(Constants.SitefinityFields.UserId, Constants.SitefinityFields.UserId)); profileProperties.Add(new KeyValuePair <string, string>(Constants.SitefinityFields.Email, Constants.SitefinityFields.Email)); this.ProfileProperties = JsonConvert.SerializeObject(profileProperties.OrderBy(i => i.Value)); } }