我已经将Swagger集成到我的ASP.NET Core Web API项目中,但它只能访问不需要身份验证的端点:
application.UseSwagger(); application.UseSwaggerUI();
字符串我该如何处理这个问题?是否有方法公开Identity端点并在那里输入用户凭据?
c2e8gylq1#
首先你需要向身份服务器请求jwt token。然后对于受jwt“bearer”认证方案保护的API,你可以配置swagger,如下所示,在访问API时添加jwt token。
builder.Services.AddSwaggerGen(option => { option.SwaggerDoc("v1", new OpenApiInfo { Title = "Demo API", Version = "v1" }); option.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { In = ParameterLocation.Header, Description = "Please enter a valid token", Name = "Authorization", Type = SecuritySchemeType.Http, BearerFormat = "JWT", Scheme = "Bearer" }); option.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type=ReferenceType.SecurityScheme, Id="Bearer" } }, new string[]{} } }); });
字符串100d1x的字符串
1条答案
按热度按时间c2e8gylq1#
首先你需要向身份服务器请求jwt token。然后对于受jwt“bearer”认证方案保护的API,你可以配置swagger,如下所示,在访问API时添加jwt token。
字符串
![](https://i.stack.imgur.com/zFzdk.png)
100d1x
的字符串