64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
/*
|
|
Copyright (c) 2024 HigginsSoft, Alexander Higgins - https://github.com/alexhiggins732/
|
|
|
|
Copyright (c) 2018, Brock Allen & Dominick Baier. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
|
|
Source code and license this software can be found
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
*/
|
|
|
|
using System.IdentityModel.Tokens.Jwt;
|
|
using Microsoft.AspNetCore.Authentication;
|
|
|
|
JwtSecurityTokenHandler.DefaultMapInboundClaims = false;
|
|
|
|
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
builder.Services.AddControllersWithViews();
|
|
builder.Services
|
|
.AddAuthentication(options =>
|
|
{
|
|
options.DefaultScheme = "Cookies";
|
|
options.DefaultChallengeScheme = "oidc";
|
|
})
|
|
.AddCookie("Cookies")
|
|
.AddOpenIdConnect("oidc", options =>
|
|
{
|
|
options.Authority = builder.Configuration.GetValue<String>("AuthIssuer");
|
|
options.ClientId = "mvc";
|
|
options.ClientSecret = "49C1A7E1-0C79-4A89-A3D6-A37998FB86B0";
|
|
options.ResponseType = "code";
|
|
|
|
options.Scope.Add("openid");
|
|
options.Scope.Add("profile");
|
|
options.Scope.Add("scope2");
|
|
options.MapInboundClaims = true;
|
|
options.ClaimActions.MapUniqueJsonKey("preferred_username","preferred_username");
|
|
options.ClaimActions.MapUniqueJsonKey("gender", "gender");
|
|
|
|
options.SaveTokens = true;
|
|
});
|
|
|
|
|
|
using (var app = builder.Build())
|
|
{
|
|
|
|
if (app.Environment.IsDevelopment())
|
|
app.UseDeveloperExceptionPage();
|
|
else
|
|
app.UseExceptionHandler("/Home/Error");
|
|
|
|
app.UseStaticFiles();
|
|
app.UseRouting();
|
|
app.UseAuthentication();
|
|
app.UseAuthorization();
|
|
app.MapDefaultControllerRoute().RequireAuthorization();
|
|
|
|
await app.RunAsync();
|
|
}
|