diff --git a/Src/Dlhis.User/Packs/OAuth2HttpClientPack.cs b/Src/Dlhis.User/Packs/OAuth2HttpClientPack.cs new file mode 100644 index 00000000..bb921f98 --- /dev/null +++ b/Src/Dlhis.User/Packs/OAuth2HttpClientPack.cs @@ -0,0 +1,29 @@ +using Kurisu.AspNetCore.Startup; + +namespace Dlhis.User.Packs; + +public class OAuth2HttpClientPack : BaseAppPack +{ + public override bool IsBeforeUseRouting { get; } + + public override void ConfigureServices(IServiceCollection services) + { + services.AddHttpClient("oauth2", (sp, httpClient) => + { + if (sp.GetService().IsProduction()) + { + httpClient.DefaultRequestHeaders.Add("X-Requested-Internal", "internal"); + } + }) + .ConfigurePrimaryHttpMessageHandler(() => + { + var handler = new HttpClientHandler + { + ClientCertificateOptions = ClientCertificateOption.Manual, + ServerCertificateCustomValidationCallback = (_, _, _, _) => true + }; + + return handler; + }); + } +}