Авторизация в API блокирует загрузку данных в приложении MauiC#

Место общения программистов C#
Ответить
Anonymous
 Авторизация в API блокирует загрузку данных в приложении Maui

Сообщение Anonymous »


У меня есть приложение .net maui, которое отображает данные с помощью API, однако, когда я хочу добавить авторизацию в контроллер в целях безопасности, в моем приложении .net maui оно больше не отображает данные

var builder = WebApplication.CreateBuilder(args); // Добавляем сервисы в контейнер. builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApi(builder.Configuration); builder.Services.AddAuthorization(); builder.Services.AddControllers().AddJsonOptions(o => o.JsonSerializerOptions .ReferenceHandler = ReferenceHandler.Preserve); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); строка ConnectionString = builder.Configuration.GetConnectionString("DefaultConnection"); builder.Services.AddDbContext(параметры => { options.UseSqlServer(connectionString); }); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); builder.Services.AddDatasyncControllers(); вар приложение = builder.Build(); // Настраиваем конвейер HTTP-запросов. если (app.Environment.IsDevelopment()) { приложение.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); приложение.UseAuthentication(); приложение.UseAuthorization(); приложение.MapControllers(); приложение.Выполнить(); [Авторизовать] [Апиконтроллер] [Маршрут("api/v1/[контроллер]")] открытый класс ActivityController: ControllerBase { частный только для чтения IActivitiesRepository _activitiesRepository; частный IMapper только для чтения _mapper; public ActivityController (IActivitiesRepositoryactivityRepository, сопоставитель IMapper) { _activitiesRepository = ActivityRepository; _mapper = картограф; } [HttpGet("{id}")] общедоступная асинхронная задача GetActivitiesbyIdAsync (int id) { ActivityEntityactivityEntity = ждут _activitiesRepository.FindByIdAsync(id); вернуть ОК (деятельностьEntity); } [HttpGet] [Маршрут("все")] public async Task GetActivities() { IEnumerable? действия = ждут _activitiesRepository.FindAllIncludeAsync(x => x.Images); var ответ = _mapper.Map(действия); вернуть ОК (ответ); } [HttpGet("GetAllActivitiesByUserId/{id}")] public async Task GetAllActivitiesByUserId(int id) { IEnumerable? действия = ждут _activitiesRepository.FindActivitiesByUserIdAsync(id); var ответ = _mapper.Map(действия); вернуть ОК (ответ); } } У меня несколько контроллеров и везде одна и та же проблема Поэтому я хочу добавить авторизацию для защиты моего API, однако она блокирует загрузку данных в приложении
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»