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

Visual Studio中API项目创建后能否修改认证方式?

如何在Visual Studio中修改已创建API项目的认证方式

当然可以修改已创建API项目的认证方式,不需要重新搭建项目,以下是具体操作步骤:

  • 调整依赖包
    根据你要切换的目标认证方式,安装对应的NuGet包:

    • 若切换到JWT认证,安装Microsoft.AspNetCore.Authentication.JwtBearer
    • 若切换到Azure AD认证,安装Microsoft.Identity.Web
      可以通过Visual Studio的「NuGet包管理器」搜索安装,或者在「程序包管理器控制台」执行命令:Install-Package 目标包名
  • 修改认证配置代码
    针对.NET 6+使用顶级语句的项目,打开Program.cs文件:

    1. 找到原有的builder.Services.AddAuthentication()代码块,替换为目标认证方式的配置。例如从无认证切换到JWT的示例代码:
      using Microsoft.AspNetCore.Authentication.JwtBearer;
      using Microsoft.IdentityModel.Tokens;
      using System.Text;
      
      // 替换原有认证配置
      builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
          .AddJwtBearer(options =>
          {
              options.TokenValidationParameters = new TokenValidationParameters
              {
                  ValidateIssuer = true,
                  ValidateAudience = true,
                  ValidateLifetime = true,
                  ValidateIssuerSigningKey = true,
                  ValidIssuer = builder.Configuration["Jwt:Issuer"],
                  ValidAudience = builder.Configuration["Jwt:Audience"],
                  IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
              };
          });
      
    2. 确保中间件顺序正确:app.UseAuthentication()和app.UseAuthorization()必须放在app.UseRouting()之后、app.MapControllers()之前。
  • 更新配置文件
    打开appsettings.json,添加目标认证方式所需的配置项。比如JWT认证需要的参数:

    "Jwt": {
      "Issuer": "你的签发者地址",
      "Audience": "你的受众地址",
      "Key": "你的密钥字符串"
    }
    
  • 清理旧认证残留代码

    • 删除原项目中与旧认证方式相关的配置代码,比如旧的AddCookie()或其他认证方案注册逻辑
    • 如果控制器上有指定旧认证方案的[Authorize]属性(如[Authorize(AuthenticationSchemes = CookieAuthenticationDefaults.AuthenticationScheme)]),同步更新为新的认证方案名称
  • 验证修改效果
    启动项目后,通过工具(如Postman)测试需要认证的API接口,确认新的认证方式正常生效。比如携带JWT Token请求接口,检查是否能成功访问受保护的资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:04:54