public void ConfigureServices()

in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics/Startup.cs [29:92]


        public void ConfigureServices(IServiceCollection services)
        {
            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;

            }).AddOpenIdConnect(options =>
            {
                options.Authority = $"{Configuration.GetSection("AzureAd").GetSection("Instance").Value}{Configuration.GetSection("AzureAd").GetSection("TenantId").Value}"; //+ this.TenantName; //358d0f13-4eda-45ea-886e-a6dcc6a70ae2
                options.ClientId = Configuration.GetSection("AzureAd").GetSection("ClientId").Value;
               options.ClientSecret = Configuration.GetSection("AzureAd").GetSection("ClientSecret").Value;
                options.ResponseType = OpenIdConnectResponseType.Code;
                options.ResponseMode = OpenIdConnectResponseMode.FormPost;
                options.CallbackPath = "/security/signin-callback";
                options.SignedOutRedirectUri = "/home/"; 
                options.TokenValidationParameters.ValidateIssuer = false;
                options.SaveTokens = true;
                options.Resource = Configuration.GetSection("configurations").GetSection("RESOURCE_URL").Value;
                options.UseTokenLifetime = true;
                
            }).AddCookie();
            
            IFileProvider physicalProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory());
            services.AddSingleton<IFileProvider>(physicalProvider);

            //services.Configure<CookiePolicyOptions>(options =>
            //{
            //    // This lambda determines whether user consent for non-essential cookies is needed for a given request.
            //    options.CheckConsentNeeded = context => false;
            //    options.MinimumSameSitePolicy = SameSiteMode.None;
            //});

            //services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
            //  .AddAzureAD(options => Configuration.Bind("AzureAd", options)).AddCookie(OpenIdConnectDefaults.AuthenticationScheme);
            //services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
            //{
            //    options.Authority = options.Authority;//+ "/v2.0/"
            //    options.Resource = Configuration.GetSection("configurations").GetSection("RESOURCE_URL").Value;
            //    options.TokenValidationParameters.ValidateIssuer = false;
            //    options.ResponseType = OpenIdConnectResponseType.Code;
            //    options.SaveTokens = true;
            //});
            ////    services.AddMvc(options =>
            ////{
            ////    var policy = new AuthorizationPolicyBuilder()
            ////        .RequireAuthenticatedUser()
            ////        .Build();
            ////    options.Filters.Add(new AuthorizeFilter(policy));
            ////}).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            services.AddDistributedMemoryCache();
            services.AddMvc();
            services.AddSession(options =>
            {
                options.IdleTimeout = TimeSpan.FromMinutes(60);
            });

            services.AddSingleton<DiagnozeService>();
            services.AddSingleton<UserSessionService>();
            services.AddSingleton<LogAnalyticsService>();
            services.AddSingleton<CommonService>();
            services.AddSingleton<RoleAssignmentService>();
        }