确保请求 API 的 HTTP header 中包含有效的 Bearer token。
在 Startup.cs 文件中,在 ConfigureServices 方法中配置身份验证服务。以下是一个示例:
public void ConfigureServices(IServiceCollection services)
{
// 添加身份验证服务
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options => {
options.Authority = "https://your-authorization-server.com/";
options.Audience = "your-api-audience";
});
// 添加授权策略,可选
services.AddAuthorization(options => {
options.AddPolicy("AdminPolicy", policy => policy.RequireClaim("role", "admin"));
});
// 其他服务配置...
}
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase
{
[HttpGet]
[Authorize]
[Authorize(Policy = "AdminPolicy")]
public ActionResult> Get()
{
return new string[] { "value1", "value2" };
}
// 其他 API 操作...
}