using System.Threading.Tasks; using API.Data; using API.DTOs.Settings; using API.Services; using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; namespace API.Controllers; public class OidcController(ILogger logger, IUnitOfWork unitOfWork, IMapper mapper, ISettingsService settingsService): BaseApiController { [AllowAnonymous] [HttpGet("config")] public async Task> GetOidcConfig() { var settings = await unitOfWork.SettingsRepository.GetSettingsDtoAsync(); return Ok(mapper.Map(settings.OidcConfig)); } [Authorize("RequireAdminRole")] [HttpPost("is-valid-authority")] public async Task> IsValidAuthority([FromBody] IsValidAuthorityBody authority) { return Ok(await settingsService.IsValidAuthority(authority.Authority)); } public class IsValidAuthorityBody { public string Authority { get; set; } } }