Files
Musify/backend/Hosts/Musify.Api/Authentication/AuthenticationConfiguration.cs
T
2026-09-24 13:24:43 +02:00

42 lines
1.0 KiB
C#

using System.ComponentModel.DataAnnotations;
using Musify.Application.Configuration;
namespace Musify.Api.Authentication
{
public sealed class AuthenticationConfiguration : IConfigurationOptions
{
public static string SectionName => "Authentication";
[Required]
[Url]
public required string MetadataAddress { get; set; }
[Required]
public required string IssuerAddress { get; set; }
[Required]
public required string AudienceAddress { get; set; }
[Required]
public required string ClientId { get; set; }
public string? ClientSecret { get; set; }
[Required]
[Url]
public required string AuthorizationEndpoint { get; set; }
[Required]
[Url]
public required string TokenEndpoint { get; set; }
[Required]
[MinLength(1)]
public required string[] Scopes { get; set; }
public string? ScalarRedirectUri { get; set; }
public bool RequireHttpsMetadata { get; set; } = true;
}
}