public KeysController(IOptions <ScriptApplicationHostOptions> applicationOptions, ISecretManagerProvider secretManagerProvider, ILoggerFactory loggerFactory, IFileSystem fileSystem) { _applicationOptions = applicationOptions; _secretManagerProvider = secretManagerProvider; _logger = loggerFactory.CreateLogger(ScriptConstants.LogCategoryKeysController); _fileSystem = fileSystem; }
public WebFunctionsManager(IOptionsMonitor <ScriptApplicationHostOptions> applicationHostOptions, IOptions <LanguageWorkerOptions> languageWorkerOptions, ILoggerFactory loggerFactory, HttpClient client, ISecretManagerProvider secretManagerProvider, IFunctionsSyncManager functionsSyncManager) { _applicationHostOptions = applicationHostOptions; _logger = loggerFactory?.CreateLogger(ScriptConstants.LogCategoryHostGeneral); _client = client; _workerConfigs = languageWorkerOptions.Value.WorkerConfigs; _secretManagerProvider = secretManagerProvider; _functionsSyncManager = functionsSyncManager; }
public FunctionsSyncManager(IConfiguration configuration, IHostIdProvider hostIdProvider, IOptionsMonitor <ScriptApplicationHostOptions> applicationHostOptions, IOptions <LanguageWorkerOptions> languageWorkerOptions, ILoggerFactory loggerFactory, HttpClient httpClient, ISecretManagerProvider secretManagerProvider) { _applicationHostOptions = applicationHostOptions; _logger = loggerFactory?.CreateLogger(ScriptConstants.LogCategoryHostGeneral); _workerConfigs = languageWorkerOptions.Value.WorkerConfigs; _httpClient = httpClient; _secretManagerProvider = secretManagerProvider; _configuration = configuration; _hostIdProvider = hostIdProvider; }
public WebFunctionsManager(IOptionsMonitor <ScriptApplicationHostOptions> applicationHostOptions, ILoggerFactory loggerFactory, IHttpClientFactory httpClientFactory, ISecretManagerProvider secretManagerProvider, IFunctionsSyncManager functionsSyncManager, HostNameProvider hostNameProvider, IFunctionMetadataManager functionMetadataManager) { _applicationHostOptions = applicationHostOptions; _logger = loggerFactory?.CreateLogger(ScriptConstants.LogCategoryHostGeneral); _client = httpClientFactory.CreateClient(); _secretManagerProvider = secretManagerProvider; _functionsSyncManager = functionsSyncManager; _hostNameProvider = hostNameProvider; _functionMetadataManager = functionMetadataManager; }
public KeysController(IOptions <ScriptApplicationHostOptions> applicationOptions, ISecretManagerProvider secretManagerProvider, ILoggerFactory loggerFactory, IFileSystem fileSystem, IFunctionsSyncManager functionsSyncManager, IFunctionMetadataManager functionMetadataManager, IScriptHostManager hostManager) { _applicationOptions = applicationOptions; _secretManagerProvider = secretManagerProvider; _logger = loggerFactory.CreateLogger(ScriptConstants.LogCategoryKeysController); _fileSystem = fileSystem; _functionsSyncManager = functionsSyncManager; _functionMetadataManager = functionMetadataManager; _hostManager = hostManager; }
public AuthenticationLevelHandler( IOptionsMonitor <AuthenticationLevelOptions> options, ILoggerFactory logger, UrlEncoder encoder, IDataProtectionProvider dataProtection, ISystemClock clock, ISecretManagerProvider secretManagerProvider) : base(options, logger, encoder, clock) { _secretManagerProvider = secretManagerProvider; }
public FunctionsSyncManager(IConfiguration configuration, IHostIdProvider hostIdProvider, IOptionsMonitor <ScriptApplicationHostOptions> applicationHostOptions, ILogger <FunctionsSyncManager> logger, HttpClient httpClient, ISecretManagerProvider secretManagerProvider, IScriptWebHostEnvironment webHostEnvironment, IEnvironment environment, HostNameProvider hostNameProvider, IFunctionMetadataProvider functionMetadataProvider) { _applicationHostOptions = applicationHostOptions; _logger = logger; _httpClient = httpClient; _secretManagerProvider = secretManagerProvider; _configuration = configuration; _hostIdProvider = hostIdProvider; _webHostEnvironment = webHostEnvironment; _environment = environment; _hostNameProvider = hostNameProvider; _functionMetadataProvider = functionMetadataProvider; }
public FunctionsSyncManager(IConfiguration configuration, IHostIdProvider hostIdProvider, IOptionsMonitor <ScriptApplicationHostOptions> applicationHostOptions, IOptions <LanguageWorkerOptions> languageWorkerOptions, ILogger <FunctionsSyncManager> logger, HttpClient httpClient, ISecretManagerProvider secretManagerProvider, IScriptWebHostEnvironment webHostEnvironment, IEnvironment environment, HostNameProvider hostNameProvider) { _applicationHostOptions = applicationHostOptions; _logger = logger; _workerConfigs = languageWorkerOptions.Value.WorkerConfigs; _httpClient = httpClient; _secretManagerProvider = secretManagerProvider; _configuration = configuration; _hostIdProvider = hostIdProvider; _webHostEnvironment = webHostEnvironment; _environment = environment; _hostNameProvider = hostNameProvider; }
public AuthenticationLevelHandler( IOptionsMonitor <AuthenticationLevelOptions> options, ILoggerFactory logger, UrlEncoder encoder, IDataProtectionProvider dataProtection, ISystemClock clock, ISecretManagerProvider secretManagerProvider, IEnvironment environment) : base(options, logger, encoder, clock) { _secretManagerProvider = secretManagerProvider; _isEasyAuthEnabled = environment.IsEasyAuthEnabled(); }
public DefaultScriptWebHookProvider(ISecretManagerProvider secretManagerProvider, HostNameProvider hostNameProvider) { _secretManagerProvider = secretManagerProvider; _hostNameProvider = hostNameProvider; }
internal static async Task <(string, AuthorizationLevel)> GetAuthorizationKeyInfoAsync(HttpRequest request, ISecretManagerProvider secretManagerProvider) { // first see if a key value is specified via headers or query string (header takes precedence) string keyValue = null; if (request.Headers.TryGetValue(FunctionsKeyHeaderName, out StringValues values)) { keyValue = values.First(); } else if (request.Query.TryGetValue("code", out values)) { keyValue = values.First(); } if (!string.IsNullOrEmpty(keyValue)) { ISecretManager secretManager = secretManagerProvider.Current; // see if the key specified is the master key HostSecretsInfo hostSecrets = await secretManager.GetHostSecretsAsync().ConfigureAwait(false); if (!string.IsNullOrEmpty(hostSecrets.MasterKey) && Key.SecretValueEquals(keyValue, hostSecrets.MasterKey)) { return(ScriptConstants.DefaultMasterKeyName, AuthorizationLevel.Admin); } if (HasMatchingKey(hostSecrets.SystemKeys, keyValue, out string keyName)) { return(keyName, AuthorizationLevel.System); } // see if the key specified matches the host function key if (HasMatchingKey(hostSecrets.FunctionKeys, keyValue, out keyName)) { return(keyName, AuthorizationLevel.Function); } // If there is a function specific key specified try to match against that IFunctionExecutionFeature executionFeature = request.HttpContext.Features.Get <IFunctionExecutionFeature>(); if (executionFeature != null) { IDictionary <string, string> functionSecrets = await secretManager.GetFunctionSecretsAsync(executionFeature.Descriptor.Name); if (HasMatchingKey(functionSecrets, keyValue, out keyName)) { return(keyName, AuthorizationLevel.Function); } } } return(null, AuthorizationLevel.Anonymous); }
internal static Task <(string, AuthorizationLevel)> GetAuthorizationKeyInfoAsync(HttpRequest request, ISecretManagerProvider secretManagerProvider) { // first see if a key value is specified via headers or query string (header takes precedence) string keyValue = null; if (request.Headers.TryGetValue(FunctionsKeyHeaderName, out StringValues values)) { keyValue = values.First(); } else if (request.Query.TryGetValue(FunctionsKeyQueryParamName, out values)) { keyValue = values.First(); } if (!string.IsNullOrEmpty(keyValue)) { ISecretManager secretManager = secretManagerProvider.Current; var functionName = request.HttpContext.Features.Get <IFunctionExecutionFeature>()?.Descriptor.Name; return(secretManager.GetAuthorizationLevelOrNullAsync(keyValue, functionName)); } return(Task.FromResult <(string, AuthorizationLevel)>((null, AuthorizationLevel.Anonymous))); }
public DefaultScriptWebHookProvider(ISecretManagerProvider secretManagerProvider) { _secretManagerProvider = secretManagerProvider; }