public ActionResult ExternalMethods() { var model = new List <ExternalAuthenticationMethodModel>(); foreach (var eam in _openAuthenticationService.LoadActiveExternalAuthenticationMethods(_storeContext.CurrentStore.Id)) { var eamModel = new ExternalAuthenticationMethodModel(); string actionName; string controllerName; RouteValueDictionary routeValues; eam.Value.GetPublicInfoRoute(out actionName, out controllerName, out routeValues); eamModel.ActionName = actionName; eamModel.ControllerName = controllerName; eamModel.RouteValues = routeValues; model.Add(eamModel); } return(PartialView(model)); }
public virtual IActionResult MethodUpdate(ExternalAuthenticationMethodModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods)) { return(AccessDeniedView()); } var eam = _externalAuthenticationService.LoadExternalAuthenticationMethodBySystemName(model.SystemName); if (_externalAuthenticationService.IsExternalAuthenticationMethodActive(eam)) { if (!model.IsActive) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsActive) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } var pluginDescriptor = eam.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; //update the description file PluginManager.SavePluginDescriptor(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(pluginDescriptor); return(new NullJsonResult()); }
public virtual async Task <IActionResult> ExternalMethodUpdate(ExternalAuthenticationMethodModel model) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageExternalAuthenticationMethods)) { return(AccessDeniedView()); } var method = await _authenticationPluginManager.LoadPluginBySystemNameAsync(model.SystemName); if (_authenticationPluginManager.IsPluginActive(method)) { if (!model.IsActive) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(method.PluginDescriptor.SystemName); await _settingService.SaveSettingAsync(_externalAuthenticationSettings); } } else { if (model.IsActive) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(method.PluginDescriptor.SystemName); await _settingService.SaveSettingAsync(_externalAuthenticationSettings); } } var pluginDescriptor = method.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; //update the description file pluginDescriptor.Save(); //raise event await _eventPublisher.PublishAsync(new PluginUpdatedEvent(pluginDescriptor)); return(new NullJsonResult()); }
/// <summary> /// Prepare the external authentication method model /// </summary> /// <returns>List of the external authentication method model</returns> public virtual List <ExternalAuthenticationMethodModel> PrepareExternalMethodsModel() { var model = new List <ExternalAuthenticationMethodModel>(); foreach (var eam in _openAuthenticationService .LoadActiveExternalAuthenticationMethods(_workContext.CurrentCustomer, _storeContext.CurrentStore.Id)) { var eamModel = new ExternalAuthenticationMethodModel(); string actionName; string controllerName; RouteValueDictionary routeValues; eam.GetPublicInfoRoute(out actionName, out controllerName, out routeValues); eamModel.ActionName = actionName; eamModel.ControllerName = controllerName; eamModel.RouteValues = routeValues; model.Add(eamModel); } return(model); }