在ASP.NET Core Web API中,身份验证令牌可以用来保护API免受未经授权的访问。默认情况下,ASP.NET Core Web API会在每个请求中验证身份令牌,以确保访问者有权访问API资源。
以下是一个示例,展示了如何在ASP.NET Core Web API中进行身份验证令牌的验证:
[Authorize] [ApiController] [Route("api/[controller]")] public class TodoController : ControllerBase { private readonly TodoContext _context;
public TodoController(TodoContext context)
{
_context = context;
}
// GET: api/Todo
[HttpGet]
public async Task>> GetTodoItems()
{
return await _context.TodoItems.ToListAsync();
}
// GET: api/Todo/5
[HttpGet("{id}")]
public async Task> GetTodoItem(long id)
{
var todoItem = await _context.TodoItems.FindAsync(id);
if (todoItem == null)
{
return NotFound();
}
return todoItem;
}
// POST: api/Todo
[HttpPost]
public async Task> PostTodoItem(TodoItem item)
{
_context.TodoItems.Add(item);
await _context.SaveChangesAsync();
return CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, item);
}
// PUT: api/Todo/5
[HttpPut("{id}")]
public async Task PutTodoItem(long id, TodoItem item)
{
if (id != item.Id)
{
return BadRequest();
}
_context.Entry(item).State = EntityState.Modified;
await _context.SaveChangesAsync();
return NoContent();
}
// DELETE: api/Todo/5
[HttpDelete("{id}")]
public async Task DeleteTodoItem(long id)
{
var todoItem = await _context.TodoItems.FindAsync(id);
if (todoItem == null)
{
return NotFound();
}
_context.T