// This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton(MovieRecordInMemoryRepository.getInstance());
            services.AddMvc();

            JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

            services.AddAuthentication(options =>
            {
                options.DefaultScheme          = "Cookies";
                options.DefaultChallengeScheme = "oidc";
            })
            .AddCookie("Cookies")
            .AddOpenIdConnect("oidc", options =>
            {
                options.SignInScheme         = "Cookies";
                options.Authority            = "http://localhost:5000";
                options.RequireHttpsMetadata = false;
                options.ClientId             = "mvc";
                options.Scope.Add("roles");
                options.SaveTokens = true;
            });

            services.AddAuthorization(options =>
            {
                options.AddPolicy("CanReadAndEditMovie", policy => policy.RequireClaim("role", User.ROLE_CONST.MANAGER, User.ROLE_CONST.TEAM_LEADER, User.ROLE_CONST.FLOOR_STAFF));
                options.AddPolicy("CanDeleteMovie", policy => policy.RequireClaim("role", User.ROLE_CONST.MANAGER));
            });
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            MovieRecordInMemoryRepository.getInstance().Add(new MovieRecord()
            {
                MovieTitle = "Test", Rating = "Test", YearReleased = 2015
            });
            services.AddSingleton(MovieRecordInMemoryRepository.getInstance());

            services.AddMvcCore()
            .AddAuthorization()
            .AddJsonFormatters();

            services.AddAuthentication("Bearer")
            .AddIdentityServerAuthentication(options =>
            {
                options.Authority            = "http://localhost:5000";
                options.RequireHttpsMetadata = false;

                options.ApiName = "api1";
            });
        }