You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# CS0029:SymmetricSecurityKey无法转换为IssuerSigningKeyResolver

错误原因

CS0029编译错误来自属性误用:

  • IssuerSigningKeyResolver 是委托类型,用于实现动态解析签名密钥的自定义逻辑,不能直接赋值SymmetricSecurityKey实例
  • 固定对称密钥验证JWT的常规场景,应该使用IssuerSigningKey属性,该属性的参数类型就是SecurityKey,可以直接接收你创建的SymmetricSecurityKey对象。
修复方式

将错误行的IssuerSigningKeyResolver替换为IssuerSigningKey即可,修正后的完整实现代码:

using System.Text;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;

namespace API.Extensions.DependencyInjection
{
    public static class IdentityServiceExtensions
    {
        public static IServiceCollection AddIdentityServices(this IServiceCollection services, IConfiguration config)
        {
            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddJwtBearer(options =>
                {
                    options.TokenValidationParameters = new TokenValidationParameters
                    {
                        ValidateIssuerSigningKey = true,
                        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(config["TokenKey"])),
                        ValidateIssuer = false,
                        ValidateAudience = false,
                    };
                });

            return services;
        }
    }
}

补充说明:IssuerSigningKeyResolver仅在需要动态匹配签名密钥的场景使用,比如多租户系统下不同租户使用不同密钥签发Token的情况,单服务固定密钥场景不需要用到这个属性。

内容的提问来源于stack exchange,提问作者TrippyMayne_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 02:48:37