Yapılandırma
Sunucunun tüm ayarları.
ErtisAuth ayarlarını ASP.NET Core'un standart yapılandırma sistemiyle okur: appsettings.json, appsettings.{Environment}.json, ortam değişkenleri ve komut satırı argümanları; öncelik bu sırayla artar.
Ortam değişkenlerinde iç içe anahtarlar çift alt çizgiyle ayrılır: Database:ConnectionString, Database__ConnectionString olur.
ErtisAuth'un davranışının büyük kısmı (token süreleri, hash algoritması, mail sağlayıcıları, aktivasyon, OTP) sunucu yapılandırması değildir: API üzerinden membership bazında ayarlanır. Bkz. Membership'ler.
Ayarlar#
Veritabanı#
| Anahtar | Varsayılan | Açıklama |
|---|---|---|
Database:ConnectionString | yok (zorunlu) | MongoDB bağlantı dizesi, ör. mongodb://user:password@host:27017. |
Database:DefaultAuthDatabase | auth | ErtisAuth'un kullandığı veritabanının adı. |
Database:AllowDiskUse | false | Büyük sıralama ve aggregation işlemlerinde MongoDB'nin geçici dosya kullanmasına izin verir. |
ErtisAuth MongoDB transaction'larını kullanmaz; bu yüzden tek başına çalışan bir sunucu da replica set kadar iyi çalışır.
Azure Application Insights#
| Anahtar | Varsayılan | Açıklama |
|---|---|---|
ApplicationInsights:ConnectionString | boş | Ayarlandığında trace'ler, metrikler ve loglar OpenTelemetry üzerinden Azure Monitor'a gönderilir. Boşsa hiçbir şey gönderilmez. |
Loglama#
ASP.NET Core'un standart Logging bölümü:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning"
}
}
}Barındırma#
ASP.NET Core'un standart ayarları geçerlidir, örneğin:
| Değişken | Açıklama |
|---|---|
ASPNETCORE_ENVIRONMENT | Development, OpenAPI dokümanını ve /docs adresindeki Scalar API referansını açar. |
ASPNETCORE_HTTP_PORTS / ASPNETCORE_URLS | Sunucunun dinlediği portlar ya da URL'ler. Docker imajı 8080 portunda dinler. |
Örnek#
{
"Database": {
"ConnectionString": "mongodb://ertisauth:<password>@mongo-0:27017",
"DefaultAuthDatabase": "auth"
},
"ApplicationInsights": {
"ConnectionString": "InstrumentationKey=…;IngestionEndpoint=…"
}
}Aynısı ortam değişkenleriyle:
Database__ConnectionString=mongodb://ertisauth:<password>@mongo-0:27017
Database__DefaultAuthDatabase=auth
ApplicationInsights__ConnectionString=InstrumentationKey=…Yerleşik davranışlar#
Bunlar sunucuda sabittir; ne bekleyeceğinizi bilmeniz için burada listelenmiştir:
| Davranış | Değer |
|---|---|
| CORS | Her origin'e, metoda ve header'a izin verilir. Gerekirse gateway'inizde kısıtlayın. |
| Yanıt sıkıştırma | Brotli ve Gzip, HTTPS üzerinde de. |
| HTTPS yönlendirmesi | Açık. TLS'i ingress'inizde sonlandırın ya da Kestrel için bir sertifika yapılandırın. |
| Kontrollü kapanma | Devam eden istekler ile kuyruktaki webhook ve e-postalar için en fazla 30 saniye. |
| Prometheus metrikleri | /metrics adresinde (bkz. Operasyon). |
| Aktivasyon token'ının süresi | 72 saat. |
| Şifre sıfırlama token'ının süresi | Membership reset_password_token_expires_in ayarlamadıkça 2 saat. |
| Scoped token süresi | Membership scoped_token_expires_in ayarlamadıkça 12 saat. |
| En kısa şifre uzunluğu | 6 karakter. |
Dokümantasyonda bir hata mı buldunuz? Issue açın