.NET调试WSO2令牌认证遇SSL错误,如何忽略无效证书?
调试环境下忽略WSO2无效SSL证书的解决方案
调试环境下完全可以忽略无效SSL证书,但生产环境严禁这么做,会带来严重的安全风险。
要让AddOAuth2Introspection使用禁用证书验证的自定义HttpClient,可以按以下步骤修改代码:
- 注册自定义的
HttpClient,配置忽略证书验证 - 在OAuth2自省配置中指定使用该客户端
完整代码示例:
// 注册自定义HttpClient,仅在调试环境启用证书忽略 #if DEBUG builder.Services.AddHttpClient("IgnoreSslClient") .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler { ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true }); #endif builder.Services.AddAuthentication(OAuth2IntrospectionDefaults.AuthenticationScheme) .AddOAuth2Introspection(opt => { opt.Authority = "https://localhost:9443/oauth2/token"; opt.ClientId = "N3JL60s_EyYZgZ6Ev0QQ9sAh3RAa"; opt.ClientSecret = "_r2My_fHNBKBoNpbxiZ47hBaO3ka"; opt.SkipTokensWithDots = false; #if DEBUG // 指定使用自定义的HttpClient opt.HttpClientName = "IgnoreSslClient"; #endif });
关键说明
- 用
#if DEBUG指令包裹相关配置,确保只在调试环境生效,避免生产环境意外启用不安全的证书验证逻辑 ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true会跳过所有SSL证书校验,直接信任任何证书- 通过
opt.HttpClientName指定OAuth2自省服务使用我们注册的自定义HttpClient
内容的提问来源于stack exchange,提问作者Taco
相关产品推荐
相关产品推荐

