Passa al contenuto principale

Configurazione

Le impostazioni possono essere date anche come variabili d'ambiente, con __ come separatore (Identity__Admin__Email).

ImpostazioneDescrizione
ConnectionStrings:DefaultStringa di connessione a SQL Server
Identity:Admin, Identity:EditorEmail e password degli utenti creati all'avvio
Identity:RegistrazionePubblicatrue riattiva la registrazione pubblica (disattivata di default)
Database:MigraAllAvvioApplica le migrazioni all'avvio
Eventi:MaxPerRichiesta, Eventi:RichiestePutAlMinutoLimiti di scrittura anonima: eventi per PUT (20) e richieste PUT al minuto per IP (10)
Altcha:HmacKeySegreto che firma le challenge anti-bot (min. 32 caratteri; obbligatorio fuori da Development, mai nel repository)
Altcha:MaxNumber, Altcha:ChallengeValidityMinutesDifficoltà (300000) e validità in minuti (10) della challenge
Smtp:Host, Smtp:Port, Smtp:SecurityServer SMTP per le email ai moderatori (porta 587 e Auto di default; obbligatorio fuori da Development, l'API non parte con il segnaposto). Smtp:Security: Auto, None, StartTls, SslOnConnect, StartTlsWhenAvailable; None (senza TLS) e StartTlsWhenAvailable (può ripiegare sul testo in chiaro) sono accettati solo in Development, per un SMTP locale di prova; altrove l'API non parte. Se questo divieto crea problemi con il tuo provider di posta, apri una issue: verrà gestita con uno sviluppo ad hoc, senza allentare la regola a mano
Smtp:Username, Smtp:Password, Smtp:SenderCredenziali (opzionali, ma insieme; mai nel repository) e mittente (Nome <indirizzo>)
Moderazione:AvvisoIntervalloMinutiMinuti tra due avvisi ai moderatori (60 di default, minimo 5; si applica anche a runtime)
App:PublicBaseUrlIndirizzo pubblico dell'app (https, senza credenziali né query): base dei link nelle email; obbligatorio fuori da Development
Eventi:RichiesteChallengeAlMinutoRichieste GetChallenge al minuto per IP (30)
Eventi:RichiesteStatiAlMinutoRichieste GetStati al minuto per IP (30)
Eventi:ScadenzaIntervalloMinutiMinuti tra due esecuzioni della scadenza automatica (60 di default)
Kestrel:Limits:MaxRequestBodySizeDimensione massima della richiesta (5 MB di default)
Cors:OriginsOrigini ammesse del client Angular (http://localhost:4200 di default)
ForwardedHeaders:KnownProxies, ForwardedHeaders:KnownNetworksReverse proxy fidati per X-Forwarded-For e X-Forwarded-Proto. Senza di essi gli header sono ignorati
AllowedHostsValori di Host accettati (in Docker, il nome host pubblico)
apiBaseUrl (public/config.json)URL di base dell'API per il client Angular. Vuoto significa stessa origine

L'autenticazione usa token bearer (nessun cookie). Dietro un reverse proxy i limiti di frequenza per IP richiedono ForwardedHeaders, altrimenti tutti gli utenti condividono un solo limite.