Добрый день,
Я работаю с asp.net api и Angular.
Когда я пытаюсь получить токен аутентификации из моего API, я получаю ошибки
У меня есть контроллер, который возвращает маркер аутентификации для моего приложения. Это логика для контроллера
[HttpPost]
[Route("authenticate")]
public async System.Threading.Tasks.Task<IHttpActionResult> AuthenticateAsync(LoginRequest login)
{
if (login == null)
throw new HttpResponseException(HttpStatusCode.BadRequest);
var result = await SignInManager.PasswordSignInAsync(login.Username, login.Password, false, shouldLockout: false);
var strCurrentUserId = User.Identity.GetUserId();
switch (result)
{
case SignInStatus.Success:
{
LoginAprovado loginAprovado = new LoginAprovado
{
Token = TokenGenerator.GenerateTokenJwt(DateTime.Now.ToString() + login.Username + Guid.NewGuid()),
UserId = User.Identity.GetUserId()
};
return Ok(loginAprovado);
}
default:
{
return Unauthorized();
}
}
}
Как видите, я возвращаю объект LoginAprovado.
Я не знаю, как решить эту проблему, похоже, проблема cors.
Это мой веб-конфиг
<appSettings>
<add key="JWT_AUDIENCE_TOKEN" value="http://mysite.azurewebsites.net/" />
<add key="JWT_ISSUER_TOKEN" value="http://mysite.azurewebsites.net/" />
...more here
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
Обратите внимание, что в моем разделе customeheaders для access-controol-allow-origin установлено значение *, поэтому я могу отлаживать свой интерфейс в локальной сети.
Что я могу сделать, чтобы исправить проблему? спасибо