Я пытаюсь разобраться в документации и образце WebAuthenticator. Для меня цель состоит в том, чтобы в приложении был установлен социальный логин на сервере (oauth 2).
При использовании этой реализации необходимо предположить, что I в другом контроллере может использовать атрибут [Authorize]
для запроса аутентификации. Но когда я это делаю, то происходит попытка перенаправить на / Account / Login, который, в свою очередь, не существует, давая 404.
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace Sample.Server.WebAuthenticator.Controllers
{
[Route("api/[controller]")]
[ApiController]
[Authorize]
public class SampleController : ControllerBase
{
// GET: api/Sample
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
Итак, попытка концепции из эмулятора Android приводит к в URL-адресе контроллера api "not found" aka 404 вместо какой-либо аутентификации, такой как 401.
Чтобы проверить это, загрузите Xamarin основы образца сверху. Добавьте SampleController, используя API-интерфейс для чтения / записи. Создайте Sample.Server.WebAuthenticator, установите его как единственный запускаемый проект и отладьте его. Убедитесь, что вы можете получить доступ к / api / sample и получить результат json. Затем добавьте [Authorize] в SampleController и отладьте его. Он будет перенаправлен на отсутствующую страницу входа в систему.
Я немного запутался, что пример сервера работает не так, как статья Jwt от wildermuth
Как правильно уведомить приложение о том, что оно должно аутентифицироваться?