예제 #1
0
        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);
        }
예제 #2
0
 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 ServiceHelpers()
 {
     _configurationService = new ConfigurationService();
     _graphResourceId = _configurationService.Get("ida.GraphResourceId");
     _aadInstance = _configurationService.Get("ida.AADInstance");
     _clientId = _configurationService.Get("ida.ClientId");
     _appKey = _configurationService.Get("ida.AppKey");
 }
예제 #4
0
        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();
                }
            }
        }
예제 #5
0
        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);
        }