Xamarin.Essentials WebAuthenticator серверная реализация перенаправляет на страницу входа вместо 401? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь разобраться в документации и образце 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.

Redirect to login

Чтобы проверить это, загрузите Xamarin основы образца сверху. Добавьте SampleController, используя API-интерфейс для чтения / записи. Создайте Sample.Server.WebAuthenticator, установите его как единственный запускаемый проект и отладьте его. Убедитесь, что вы можете получить доступ к / api / sample и получить результат json. Затем добавьте [Authorize] в SampleController и отладьте его. Он будет перенаправлен на отсутствующую страницу входа в систему.

Я немного запутался, что пример сервера работает не так, как статья Jwt от wildermuth

Как правильно уведомить приложение о том, что оно должно аутентифицироваться?

...