.net core Swagger

Startup中的  ConfigureServices

//注册 Swagger
            services.AddSwaggerGen(sg =>
            {
                sg.SwaggerDoc("refuge", new Swashbuckle.AspNetCore.Swagger.Info
                {
                    Title = "我的第一个 Swagger",
                    Version = "版本1"
                });
            });

Configure 启用中间件

//启用 Swagger
            app.UseSwagger();
            app.UseSwaggerUI(s =>
            {
                s.SwaggerEndpoint("/swagger/refuge/swagger.json", "My API 1.0.1");//注意,中间那段的名字 (refuge) 要和 上面 SwaggerDoc 方法定义的 名字 (refuge)一样
                s.RoutePrefix = string.Empty; //默认值是 "swagger" ,需要这样请求:https://localhost:44384/swagger
            });

 

 

 

转载于:https://www.cnblogs.com/LiChen19951127/p/10650163.html

### .NET Core 使用 Swagger 实现身份认证 在构建 API 接口时,安全性和访问控制至关重要。Swagger 不仅可以用于生成美观易读的 API 文档,还支持通过多种方式实现身份验证和授权功能。 对于需要保护的 API 路径,在 `Startup` 类中的 `ConfigureServices` 方法里注册中间件并指定所需的身份验证方案: ```csharp public void ConfigureServices(IServiceCollection services) { services.AddControllers(); // 配置JWT Bearer Token认证机制 services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(o => { o.Authority = "https://localhost:5001"; o.Audience = "apiName"; o.RequireHttpsMetadata = false; }); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); var securitySchema = new OpenApiSecurityScheme { Description = "输入有效的 JWT 访问令牌", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.Http, Scheme = "bearer", Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }; c.AddSecurityDefinition("Bearer", securitySchema); c.AddSecurityRequirement(new OpenApiSecurityRequirement { {securitySchema, new[] {"readAccess", "writeAccess"}} }); }); } ``` 接着是在 `Configure` 函数内应用这些设置来确保请求被适当处理[^1]。 为了使开发者能够方便地测试受保护端点的功能,可以在启动应用程序之前向 Swagger UI 提供必要的 OAuth2 流程参数配置。这允许用户直接从界面获取临时性的访问令牌来进行调试工作[^4]。 最后一步是确保所有敏感数据都经过加密传输,并且只授予特定角色或权限范围内的客户端访问受限资源的能力。可以通过自定义属性 `[Authorize(Roles="Admin")]` 或者更细粒度的方式如 Policy-Based Authorization 来完成这一目标[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值