work with authentik

This commit is contained in:
Matt Batchelder
2026-02-27 17:48:21 -05:00
parent 90eb649940
commit 2aaa0442b2
13 changed files with 699 additions and 2 deletions

View File

@@ -0,0 +1,32 @@
namespace OTSSignsOrchestrator.Core.Models.DTOs;
/// <summary>
/// Holds the IdP metadata extracted from an Authentik SAML provider,
/// used to render the settings-custom.php template.
/// </summary>
public class AuthentikSamlConfig
{
/// <summary>IdP entity ID from SAML metadata (typically "authentik").</summary>
public string IdpEntityId { get; set; } = string.Empty;
/// <summary>Base64-encoded X.509 signing certificate (no BEGIN/END markers).</summary>
public string IdpX509Cert { get; set; } = string.Empty;
/// <summary>IdP Single Sign-On URL (HTTP-Redirect binding).</summary>
public string SsoUrlRedirect { get; set; } = string.Empty;
/// <summary>IdP Single Sign-On URL (HTTP-POST binding).</summary>
public string SsoUrlPost { get; set; } = string.Empty;
/// <summary>IdP Single Logout URL (HTTP-Redirect binding).</summary>
public string SloUrlRedirect { get; set; } = string.Empty;
/// <summary>IdP Single Logout URL (HTTP-POST binding).</summary>
public string SloUrlPost { get; set; } = string.Empty;
/// <summary>Authentik provider primary key (for audit/debugging).</summary>
public int ProviderId { get; set; }
/// <summary>Slug used in Authentik application URLs.</summary>
public string ApplicationSlug { get; set; } = string.Empty;
}

View File

@@ -4,4 +4,10 @@ public class TemplateConfig
{
public string Yaml { get; set; } = string.Empty;
public DateTime FetchedAt { get; set; } = DateTime.UtcNow;
/// <summary>
/// Local filesystem path to the cached git clone.
/// Used to access additional template files (e.g. settings-custom.php.template).
/// </summary>
public string CacheDir { get; set; } = string.Empty;
}