Я создаю эту веб-страницу на Angular с .NET в качестве моего бэкэнда. Все работало просто отлично, но сегодня (внезапно) я получаю несанкционированные ошибки (401). Когда я удаляю свою авторизацию, я получаю внутренние ошибки сервера (что означает, что «User.Identity.Name») не работает. Итак, я предполагаю, что есть проблема с моим JWT
Я попытался удалить заголовки авторизации. Но это дало мне внутреннюю ошибку сервера (500). Работают только те запросы, которые не используют IdentityUser и поэтому [AllowAnonymous]
Я понятия не имею, в чем может быть проблема, поэтому сложно показать какой-то код. Но так как я думаю, что проблема связана с моим JWT, я добавлю некоторый код этого.
[Route("api/[controller]")]
[ApiController]
[Produces("application/json")]
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class BierenController : ControllerBase
{
private readonly IBierRepository _bierRepository;
private readonly IGebruikerRepository _gebruikerRepository;
private readonly IBrouwerRepository _brouwerRepository;
public BierenController(IBierRepository bierRepository, IGebruikerRepository gebruikerRepository, IBrouwerRepository brouwerRepository)
{
_bierRepository = bierRepository;
_gebruikerRepository = gebruikerRepository;
_brouwerRepository = brouwerRepository;
}
[HttpGet]
[AllowAnonymous]
public IEnumerable<Bier> GetBieren()
{
return _bierRepository.GetAll().OrderBy(b => b.Naam);
}
[HttpGet("{id}")]
[AllowAnonymous]
public ActionResult<Bier> GetBier(int id)
{
Bier bier = _bierRepository.GetBy(id);
if (bier == null)
return NotFound();
return bier;
}
[HttpPost]
[Authorize(Roles = "Brouwer, Admin")]
public IActionResult PostBier(Bier bier)
{
Brouwer brouwer = _brouwerRepository.GetBy(User.Identity.Name);
brouwer.AddBier(bier);
_brouwerRepository.SaveChanges();
return NoContent();
}
Любая помощь приветствуется, если кто-то может помочь, увидев дополнительный код, который я с радостью предоставлю.