public void Configuration(IAppBuilder app) { if (!HasNoSecurityConfigured()) { Trace.TraceInformation("Using AAD middleware"); string audience = _configurationService.Get("ida.Audience"); string tenant = _configurationService.Get("ida.Tenant"); string aadInstance = _configurationService.Get("ida.AADInstance"); string metadataAddress = string.Format(aadInstance, tenant) + "/federationmetadata/2007-06/federationmetadata.xml"; app.UseWindowsAzureActiveDirectoryBearerAuthentication(new WindowsAzureActiveDirectoryBearerAuthenticationOptions { TokenValidationParameters = new TokenValidationParameters { SaveSigninToken = true, ValidAudience = audience, ValidateIssuer = true, IssuerValidator = (string issuer, SecurityToken securityToken, TokenValidationParameters validationParameters) => { return(issuer); } }, Tenant = tenant, MetadataAddress = metadataAddress }); } Initialize(); app.Run(Invoke); }
static ServiceHelpers() { _configurationService = new ConfigurationService(); _graphResourceId = _configurationService.Get("ida.GraphResourceId"); _aadInstance = _configurationService.Get("ida.AADInstance"); _clientId = _configurationService.Get("ida.ClientId"); _appKey = _configurationService.Get("ida.AppKey"); }
static X509Certificate2 LoadCertificate() { string thumbprint = _configurationService.Get("nuget.Thumbprint"); if (string.IsNullOrWhiteSpace(thumbprint)) { return(null); } X509Store certStore = null; try { certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser); certStore.Open(OpenFlags.ReadOnly); X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false); if (certCollection.Count > 0) { return(certCollection[0]); } return(null); } finally { if (certStore != null) { certStore.Close(); } } }
static async Task <Uri> SaveNupkg(Stream nupkgStream, string name) { string storagePrimary = _configurationService.Get("Storage.Primary"); CloudStorageAccount account = CloudStorageAccount.Parse(storagePrimary); CloudBlobClient client = account.CreateCloudBlobClient(); CloudBlobContainer container = client.GetContainerReference("nupkgs"); await container.CreateIfNotExistsAsync(); CloudBlockBlob blob = container.GetBlockBlobReference(name); blob.Properties.ContentType = "application/octet-stream"; blob.Properties.ContentDisposition = name; nupkgStream.Seek(0, SeekOrigin.Begin); await blob.UploadFromStreamAsync(nupkgStream); return(blob.Uri); }