コード例 #1
0
        public IActionResult Methods(DataSourceRequest command)
        {
            var methodsModel = new List <AuthenticationMethodModel>();
            var methods      = _openAuthenticationService.LoadAllAuthenticationProviders();

            foreach (var method in methods)
            {
                var tmp = method.ToModel();
                tmp.IsActive = method.IsMethodActive(_externalAuthenticationSettings);
                var url = method.ConfigurationUrl;

                if (string.IsNullOrEmpty(url))
                {
                    url = PluginManager.ReferencedPlugins.FirstOrDefault(x => x.SystemName.Equals(method.SystemName, StringComparison.OrdinalIgnoreCase))
                          ?.Instance <IPlugin>(_serviceProvider)?.ConfigurationUrl();
                }
                tmp.ConfigurationUrl = url;
                methodsModel.Add(tmp);
            }
            methodsModel = methodsModel.ToList();
            var gridModel = new DataSourceResult
            {
                Data  = methodsModel,
                Total = methodsModel.Count
            };

            return(Json(gridModel));
        }