feat(notifications): configurable OAuth2 authority + scope per SMTP configuration (defaults preserve M365) — entity + EF + migration + token service

Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
Joseph Doherty
2026-07-10 04:07:13 -04:00
parent 178ae35308
commit 9e60347bde
8 changed files with 2201 additions and 5 deletions
@@ -25,6 +25,20 @@ public class SmtpConfiguration
/// <summary>Gets or sets the delay between retry attempts.</summary>
public TimeSpan RetryDelay { get; set; }
/// <summary>
/// Gets or sets the OAuth2 token-endpoint authority template, or null to use the
/// Microsoft 365 default (<c>https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token</c>).
/// The stored value is the full token-endpoint URL with an optional <c>{tenant}</c>
/// placeholder substituted from the credential's tenant id.
/// </summary>
public string? OAuth2Authority { get; set; }
/// <summary>
/// Gets or sets the OAuth2 scope requested from the token endpoint, or null to use the
/// Microsoft 365 default (<c>https://outlook.office365.com/.default</c>).
/// </summary>
public string? OAuth2Scope { get; set; }
/// <summary>
/// Initializes a new <see cref="SmtpConfiguration"/> with required fields.
/// </summary>