|  |  |  | @ -0,0 +1,88 @@ | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.Authentication.OAuth.Claims; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.Builder; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.DependencyInjection; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.IdentityModel.Protocols.OpenIdConnect; | 
			
		
	
		
			
				
					|  |  |  |  | using Swashbuckle.AspNetCore.Swagger; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.AspNetCore.Authentication.OAuth; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.AspNetCore.Modularity; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.AspNetCore.Mvc.Client; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Autofac; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Http.Client.IdentityModel; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Identity; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Identity.Web; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Localization; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Modularity; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | namespace BackendAdminApp.Host | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  |     [DependsOn( | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpAutofacModule), | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpAspNetCoreMvcClientModule), | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpAspNetCoreAuthenticationOAuthModule), | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpHttpClientIdentityModelModule), | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpIdentityHttpApiClientModule), | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpIdentityWebModule), | 
			
		
	
		
			
				
					|  |  |  |  |         typeof(AbpAspNetCoreMvcUiBasicThemeModule) | 
			
		
	
		
			
				
					|  |  |  |  |         )] | 
			
		
	
		
			
				
					|  |  |  |  |     public class BackendAdminAppHostModule : AbpModule | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         public override void ConfigureServices(ServiceConfigurationContext context) | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             Configure<AbpLocalizationOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                 options.Languages.Add(new LanguageInfo("en", "en", "English")); | 
			
		
	
		
			
				
					|  |  |  |  |             }); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             context.Services.AddAuthentication(options => | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     options.DefaultScheme = "Cookies"; | 
			
		
	
		
			
				
					|  |  |  |  |                     options.DefaultChallengeScheme = "oidc"; | 
			
		
	
		
			
				
					|  |  |  |  |                 }) | 
			
		
	
		
			
				
					|  |  |  |  |                 .AddCookie("Cookies") | 
			
		
	
		
			
				
					|  |  |  |  |                 .AddOpenIdConnect("oidc", options => | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     options.Authority = "http://localhost:64999"; | 
			
		
	
		
			
				
					|  |  |  |  |                     options.RequireHttpsMetadata = false; | 
			
		
	
		
			
				
					|  |  |  |  |                     options.ResponseType = OpenIdConnectResponseType.CodeIdToken; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                     options.ClientId = "backend-admin-app-client"; | 
			
		
	
		
			
				
					|  |  |  |  |                     options.ClientSecret = "1q2w3e*"; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                     options.SaveTokens = true; | 
			
		
	
		
			
				
					|  |  |  |  |                     options.GetClaimsFromUserInfoEndpoint = true; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                     options.Scope.Add("role"); | 
			
		
	
		
			
				
					|  |  |  |  |                     options.Scope.Add("email"); | 
			
		
	
		
			
				
					|  |  |  |  |                     options.Scope.Add("phone"); | 
			
		
	
		
			
				
					|  |  |  |  |                     options.Scope.Add("IdentityService"); | 
			
		
	
		
			
				
					|  |  |  |  |                     //options.Scope.Add("ProductService"); //TODO: Enable once available | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                     options.ClaimActions.MapAbpClaimTypes(); | 
			
		
	
		
			
				
					|  |  |  |  |                 }); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             context.Services.AddSwaggerGen( | 
			
		
	
		
			
				
					|  |  |  |  |                 options => | 
			
		
	
		
			
				
					|  |  |  |  |                 { | 
			
		
	
		
			
				
					|  |  |  |  |                     options.SwaggerDoc("v1", new Info { Title = "Backend Admin Application API", Version = "v1" }); | 
			
		
	
		
			
				
					|  |  |  |  |                     options.DocInclusionPredicate((docName, description) => true); | 
			
		
	
		
			
				
					|  |  |  |  |                 }); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         public override void OnApplicationInitialization(ApplicationInitializationContext context) | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             var app = context.GetApplicationBuilder(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseVirtualFiles(); | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseAuthentication(); | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseAbpRequestLocalization(); | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseSwagger(); | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseSwaggerUI(options => | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                 options.SwaggerEndpoint("/swagger/v1/swagger.json", "Backend Admin Application API"); | 
			
		
	
		
			
				
					|  |  |  |  |             }); | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseMvcWithDefaultRouteAndArea(); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | } |