コード例 #1
0
        static async Task Main(string[] args)
        {
            IConfiguration config = new ConfigurationBuilder()
                                    .AddJsonFile("appsettings.json", true, true)
                                    .Build();

            config = DependencyBootstrapper.AddSecrets(config);

            var services = new ServiceCollection();

            DependencyBootstrapper.ConfigureDependencies(services, config);

            var provider = services.BuildServiceProvider();

            var context = provider.GetService <MusicLibraryContext>();

            var libMan       = provider.GetService <LibraryService>();
            var saveWorkflow = new SaveNewFilesToDatabaseWorkflow(libMan);

            foreach (var path in args)
            {
                await saveWorkflow.Execute(path);
            }

            var uploadWorkflow = new UploadFilesToAzureWorkflow(context, provider.GetService <IDriveServiceFactory>(), libMan);
            await uploadWorkflow.Execute();
        }
コード例 #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);

            var appSettingsSection = Configuration.GetSection("AppSettings");
            // services.Configure<AppSettings>(appSettingsSection);

            var appSettings = appSettingsSection.Get <AppSettings>();
            var key         = Encoding.ASCII.GetBytes(appSettings.TokenSecret);

            services.AddSingleton <IJwtTokenProviderService, GoogleTokenProviderService>(provider => new GoogleTokenProviderService(
                                                                                             appSettings.TokenSecret,
                                                                                             appSettings.GoogleClientId,
                                                                                             appSettings.GoogleClientSecret,
                                                                                             provider.GetService <MusicLibraryContext>()));

            DependencyBootstrapper.ConfigureDependencies(services, Configuration);

            services.AddCors(b => b.AddPolicy("enable-all", builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()));

            services.AddAuthentication(x =>
            {
                x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                x.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            });

            services.AddAuthentication().AddJwtBearer(o =>
            {
                o.RequireHttpsMetadata      = false;
                o.SaveToken                 = true;
                o.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey         = new SymmetricSecurityKey(key),
                    ValidateIssuer           = false,
                    ValidateAudience         = false
                };
            });
        }