ErtisAuth

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ı#

AnahtarVarsayılanAçıklama
Database:ConnectionStringyok (zorunlu)MongoDB bağlantı dizesi, ör. mongodb://user:password@host:27017.
Database:DefaultAuthDatabaseauthErtisAuth'un kullandığı veritabanının adı.
Database:AllowDiskUsefalseBü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#

AnahtarVarsayılanAçıklama
ApplicationInsights:ConnectionStringboş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ü:

json
{
	"Logging": {
		"LogLevel": {
			"Default": "Information",
			"Microsoft": "Warning"
		}
	}
}

Barındırma#

ASP.NET Core'un standart ayarları geçerlidir, örneğin:

DeğişkenAçıklama
ASPNETCORE_ENVIRONMENTDevelopment, OpenAPI dokümanını ve /docs adresindeki Scalar API referansını açar.
ASPNETCORE_HTTP_PORTS / ASPNETCORE_URLSSunucunun dinlediği portlar ya da URL'ler. Docker imajı 8080 portunda dinler.

Örnek#

json
{
	"Database": {
		"ConnectionString": "mongodb://ertisauth:<password>@mongo-0:27017",
		"DefaultAuthDatabase": "auth"
	},
	"ApplicationInsights": {
		"ConnectionString": "InstrumentationKey=…;IngestionEndpoint=…"
	}
}

Aynısı ortam değişkenleriyle:

shell
Database__ConnectionString=mongodb://ertisauth:<password>@mongo-0:27017
Database__DefaultAuthDatabase=auth
ApplicationInsights__ConnectionString=InstrumentationKey=…
Not: bağlantı dizelerini ve anahtarları kaynak kontrolünün dışında tutun. Ortam değişkenlerini ya da platformunuzun secret deposunu kullanın.

Yerleşik davranışlar#

Bunlar sunucuda sabittir; ne bekleyeceğinizi bilmeniz için burada listelenmiştir:

DavranışDeğer
CORSHer origin'e, metoda ve header'a izin verilir. Gerekirse gateway'inizde kısıtlayın.
Yanıt sıkıştırmaBrotli ve Gzip, HTTPS üzerinde de.
HTTPS yönlendirmesiAçık. TLS'i ingress'inizde sonlandırın ya da Kestrel için bir sertifika yapılandırın.
Kontrollü kapanmaDevam 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üresi72 saat.
Şifre sıfırlama token'ının süresiMembership reset_password_token_expires_in ayarlamadıkça 2 saat.
Scoped token süresiMembership scoped_token_expires_in ayarlamadıkça 12 saat.
En kısa şifre uzunluğu6 karakter.

Dokümantasyonda bir hata mı buldunuz? Issue açın