public HttpResponseMessage Get(string key) { PersonaBarResponse response = null; if (!File.Exists(SecretsProvider.SecretsFile)) { response = new PersonaBarResponse { Success = false }; return(response.ToHttpResponseMessage()); } var json = File.ReadAllText(SecretsProvider.SecretsFile); var secrets = JsonConvert.DeserializeObject <Secrets>(json); var value = SecretsProvider.GetAppSettingValue(secrets, key); response = new PersonaBarResponse <AppSetting> { Success = true, Result = new AppSetting { Key = key, Value = value } }; return(response.ToHttpResponseMessage()); }
public HttpResponseMessage Delete([FromBody] AppSetting appsetting) { var response = new PersonaBarResponse(); if (string.IsNullOrEmpty(appsetting.Key)) { response.Success = false; return(response.ToHttpResponseMessage()); } if (!File.Exists(SecretsProvider.SecretsFile)) { response = new PersonaBarResponse { Success = false }; return(response.ToHttpResponseMessage()); } var json = File.ReadAllText(SecretsProvider.SecretsFile); var secrets = JsonConvert.DeserializeObject <Secrets>(json); response.Success = SecretsProvider.DeleteAppSetting(secrets, appsetting.Key); return(response.ToHttpResponseMessage()); }
public HttpResponseMessage Save([FromBody] AppSetting appsetting) { var response = new PersonaBarResponse(); if (!ModelState.IsValid || appsetting == null) { response.Success = false; return(response.ToHttpResponseMessage()); } ; if (!File.Exists(SecretsProvider.SecretsFile)) { response = new PersonaBarResponse { Success = false }; return(response.ToHttpResponseMessage()); } var json = File.ReadAllText(SecretsProvider.SecretsFile); var secrets = JsonConvert.DeserializeObject <Secrets>(json); response.Success = SecretsProvider.CreateOrUpdateAppSetting(appsetting.Key, appsetting.Value, secrets); return(response.ToHttpResponseMessage()); }
public HttpResponseMessage List() { PersonaBarResponse response = null; if (!File.Exists(SecretsProvider.SecretsFile)) { response = new PersonaBarResponse { Success = false }; return(response.ToHttpResponseMessage()); } var json = File.ReadAllText(SecretsProvider.SecretsFile); var secrets = JsonConvert.DeserializeObject <Secrets>(json); var keys = SecretsProvider.GetAppSettingsKeys(secrets); response = new PersonaBarResponse <IEnumerable <AppSetting> > { Success = true, Result = keys.Select(x => new AppSetting { Key = x }) }; return(response.ToHttpResponseMessage()); }
public HttpResponseMessage Status() { PersonaBarResponse response = new PersonaBarResponse(); if (!File.Exists(SecretsProvider.SecretsFile)) { response.Success = false; return(response.ToHttpResponseMessage()); } var json = File.ReadAllText(SecretsProvider.SecretsFile); var secrets = JsonConvert.DeserializeObject <Secrets>(json); if (!SecretsProvider.ValidateSecrets(secrets)) { response.Success = false; return(response.ToHttpResponseMessage()); } var xml = XDocument.Load(SecretsProvider.WebconfigFile); var doc = xml.Element("configuration"); var connectionString = doc.Element("connectionStrings"); response.Success = connectionString == null; return(response.ToHttpResponseMessage()); }
public HttpResponseMessage Save([FromBody] Secrets secrets) { PersonaBarResponse response = new PersonaBarResponse(); if (!ModelState.IsValid || secrets == null) { response.Success = false; return(response.ToHttpResponseMessage()); } try { var isValid = SecretsProvider.ValidateSecrets(secrets); if (!isValid) { response.Success = false; return(response.ToHttpResponseMessage()); } File.WriteAllText(SecretsProvider.SecretsFile, JsonConvert.SerializeObject(secrets)); response.Success = true; return(response.ToHttpResponseMessage()); } catch (Exception ex) { ex.Handle(); return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); } }
public async void Simple() { var secrets = new SecretsProvider().Get(); var client = new IamTokenClient(); var privateKeyStream = new MemoryStream(Encoding.UTF8.GetBytes(secrets.AuthorizationKeyPrivateKey)); var iamToken = await client.Get( secrets.ServiceAccountId, secrets.AuthorizationKeyId, privateKeyStream ); output.WriteLine(iamToken); }
public void Simple() { var secrets = new SecretsProvider().Get(); var jwtCreator = new JwtCreator(); var expirationTime = TimeSpan.FromMinutes(15); var privateKeyStream = new MemoryStream(Encoding.UTF8.GetBytes(secrets.AuthorizationKeyPrivateKey)); var jwtToken = jwtCreator.Create( secrets.ServiceAccountId, secrets.AuthorizationKeyId, privateKeyStream, expirationTime ); output.WriteLine(jwtToken); }
public static void Main(string[] args) { var host = Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { config.AddInMemoryCollection(SecretsProvider.GetSecrets()); }) .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults(webHostBuilder => { webHostBuilder.UseKestrel() .ConfigureServices(s => s.AddAutofac()) .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup <Startup>(); }) .Build(); host.Run(); }
public HttpResponseMessage Test([FromBody] Secrets secrets) { PersonaBarResponse response = new PersonaBarResponse(); if (!ModelState.IsValid || secrets == null) { response.Success = false; return(response.ToHttpResponseMessage()); } try { response.Success = SecretsProvider.ValidateSecrets(secrets); return(response.ToHttpResponseMessage()); } catch (Exception ex) { ex.Handle(); return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); } }
public async void Simple() { var secrets = new SecretsProvider().Get(); var iamTokenClient = new IamTokenClient(); var privateKeyStream = new MemoryStream(Encoding.UTF8.GetBytes(secrets.AuthorizationKeyPrivateKey)); var iamToken = await iamTokenClient.Get( secrets.ServiceAccountId, secrets.AuthorizationKeyId, privateKeyStream ); var client = new VisionClient(); var image = File.OpenRead("Vision/image.png"); var result = await client.RecognizeText( secrets.FolderId, iamToken, image, new[] { "ru", "en" } ); var words = result.Single() .Results.Single() .TextDetection .Pages.Single() .Blocks.Single() .Lines.Single() .Words; words.Select(x => x.Text) .ShouldBe( new[] { "Какой-то", "текст" } ); output.WriteLine(JsonConvert.SerializeObject(result, Formatting.Indented)); }
public CertificateManagerClientTest() { secretsProvider = new SecretsProvider(); client = new CertificateManagerClient(); }
public ObjectStorageClientTest() { var secrets = new SecretsProvider().Get(); client = new ObjectStorageClient(secrets.AccessKeyId, secrets.AccessKey); }