У меня внезапные неавторизованные / внутренние ошибки сервера - PullRequest
0 голосов
/ 23 мая 2019

Я создаю эту веб-страницу на 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();
            }

Любая помощь приветствуется, если кто-то может помочь, увидев дополнительный код, который я с радостью предоставлю. Screenshot of error

...