Exemplo n.º 1
0
        public ApiKeyService(ShellSettings shellSettings, IOrchardServices orchardServices, ICacheStorageProvider cacheManager, IApiKeySettingService apiKeySettingService)
        {
            _apiKeySettingService = apiKeySettingService;
            _shellSettings        = shellSettings;
            _orchardServices      = orchardServices;
            Logger        = NullLogger.Instance;
            _cacheStorage = cacheManager;

            _defaultApplication = new Lazy <ExternalApplication>(() => {
                var name = "";
                while (name.Length < 22)
                {
                    name += _shellSettings.Name;
                }
                var apikey = Convert.ToBase64String(
                    EncryptStringToBytes_Aes(
                        name,
                        _shellSettings.EncryptionKey.ToByteArray(),
                        Encoding.UTF8.GetBytes(string.Format("{0}{0}", DateTime.UtcNow.ToString("ddMMyyyy").Substring(0, 8)))),
                    Base64FormattingOptions.None);
                return(new ExternalApplication {
                    Name = "DefaultApplication",
                    ApiKey = apikey,
                    EnableTimeStampVerification = true,
                    Validity = 5
                });
            });
        }
 public ProtectionSettingsHandler(IApiKeySettingService apiKeySettingService)
 {
     _apiKeySettingService = apiKeySettingService;
     T = NullLocalizer.Instance;
     Filters.Add(new ActivatingFilter <ProtectionSettingsPart>("Site"));
     Filters.Add(new TemplateFilterForPart <ProtectionSettingsPart>("ProtectionSettings_Edit", "Parts/ProtectionSettingsPart.Edit", T("WebApi").Text));
     OnUpdated <ProtectionSettingsPart>((context, part) => {
         part.ExternalApplicationList = new ExternalApplicationList {
             ExternalApplications = part.ExternalApplicationList.ExternalApplications.Where(w => !w.Delete),
         };
         _apiKeySettingService.Refresh();
     });
 }