Giriş ve kayıt olma
E-posta doğrulama kodlarını, Google ile girişi ve kimlerin kayıt olabileceğini yapılandırın.
Multica, kullanıcıları varsayılan olarak e-posta doğrulama kodlarıyla giriş yaptırır; üzerine Google OAuth eklenebilir. Mevcut kullanıcılar her zaman tekrar giriş yapabilir — kayıt kısıtlamaları yalnızca yeni hesap oluşturulup oluşturulamayacağına karar verir.
E-posta doğrulama kodları
Kullanıcı bir e-posta adresi girdikten sonra Multica 6 haneli bir doğrulama kodu gönderir. Kod 10 dakika geçerlidir; doğrulandığında tarayıcı bir giriş çerezi alır.
E-posta, Resend veya SMTP üzerinden gönderilebilir. İkisi de yapılandırıldığında SMTP_HOST önceliklidir.
Resend kullanma
-
Resend'de bir gönderim alan adını doğrulayın ve bir API anahtarı oluşturun.
-
Ayarlayın:
RESEND_API_KEY=re_xxxxxxxxxxxxxxxx RESEND_FROM_EMAIL=noreply@example.com -
API hizmetini yeniden başlatın.
RESEND_FROM_EMAIL, Resend'de zaten doğrulanmış bir alan adına ait olmalıdır.
SMTP kullanma
En azından, host'u ve gönderen adresini ayarlayın:
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=multica
SMTP_PASSWORD=<password>
SMTP_FROM_EMAIL=noreply@example.comYaygın bağlantı modları:
| Senaryo | Yapılandırma |
|---|---|
| Dahili anonim relay | SMTP_PORT=25, kullanıcı adı ve parolayı boş bırakın |
| STARTTLS | SMTP_PORT=587; sunucu destekliyorsa varsayılan olarak TLS'e yükseltir |
| Dolaylı TLS | SMTP_PORT=465, veya SMTP_TLS=implicit'i açıkça ayarlayın |
SMTP_FROM_EMAIL ayarlanmamışsa RESEND_FROM_EMAIL'e geri döner. Özel CA'lar veya kendinden imzalı sertifikalar, CA'nın container güven deposuna eklenmesini gerektirir; SMTP_TLS_INSECURE=true sertifika doğrulamasını atlar ve yalnızca güvenilen bir dahili ağda geçici olarak kullanılmalıdır.
Bazı katı aktarıcılar ayrıca geçerli bir EHLO adı gerektirir:
SMTP_EHLO_NAME=mail.example.comBir e-posta hizmeti olmadan davranış
Sunucu yine de başlar, ama doğrulama kodları ve davet bağlantıları yalnızca loga yazılır; hiçbir e-posta gönderilmez. Bu, yerel geliştirme için uygundur, üretim için değil.
Başlangıç logu, geçerli modun Resend API, SMTP relay veya DEV mode olduğunu belirtir.
Sabit yerel doğrulama kodu
Yerel otomatik testler sabit bir doğrulama kodu ayarlayabilir:
APP_ENV=development
MULTICA_DEV_VERIFICATION_CODE=888888Kod 6 haneli olmalıdır. APP_ENV=production olduğunda sabit kod yok sayılır.
Herkese açık erişilebilir bir örnekte sabit bir kodu etkinleştirmeyin. Üretim kombinasyonu, boş bir MULTICA_DEV_VERIFICATION_CODE ile APP_ENV=production'dır.
Google ile giriş
-
Google Cloud Console'da bir OAuth 2.0 istemcisi oluşturun.
-
Multica ön ucunun geri çağırma URL'sini Authorized redirect URIs'e ekleyin:
https://multica.example.com/auth/callback -
Ayarlayın:
GOOGLE_CLIENT_ID=xxxxx.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=GOCSPX-xxxxxxxxxxxxxxx GOOGLE_REDIRECT_URI=https://multica.example.com/auth/callback -
API hizmetini yeniden başlatın.
Google Console'daki ve GOOGLE_REDIRECT_URI'deki URL'ler; protokol, port ve sondaki eğik çizgi dahil tam olarak eşleşmelidir. Yapılandırıldıktan sonra giriş sayfası bir Google ile giriş düğmesi gösterir; ön uç imajının yeniden derlenmesi gerekmez.
Kayıt kısıtlamaları
Üç değişken birlikte, yeni bir hesap oluşturulup oluşturulamayacağına karar verir:
| Değişken | Etkisi |
|---|---|
ALLOWED_EMAILS | Kayıt olmasına izin verilen tam e-posta adresleri, virgülle ayrılmış |
ALLOWED_EMAIL_DOMAINS | Kayıt olmasına izin verilen e-posta alan adları, virgülle ayrılmış |
ALLOW_SIGNUP | Hiçbir izin listesi yapılandırılmadığında kaydın izinli olup olmadığı; varsayılan true |
Değerlendirme sırası:
- E-posta
ALLOWED_EMAILSile eşleşir — izin ver. - Ya da alan adı
ALLOWED_EMAIL_DOMAINSile eşleşir — izin ver. - Eşleşme yoksa ve
ALLOW_SIGNUP=falseise — reddet. ALLOW_SIGNUP=trueolsa da herhangi bir izin listesi yapılandırılmışsa ve eşleşme yoksa — yine de reddet.- Hiçbir izin listesi yapılandırılmamışsa ve
ALLOW_SIGNUP=trueise — izin ver.
Yaygın yapılandırmalar:
# Yalnızca şirket alan adı
ALLOW_SIGNUP=false
ALLOWED_EMAIL_DOMAINS=company.com
# Ayrıca bir dış işbirlikçiyi de kabul et
ALLOWED_EMAILS=partner@example.netALLOW_SIGNUP=false olduğunda her iki izin listesi de açık bir istisna listesi olarak çalışır.
Davetler ve kayıt kısıtlamaları
Davetler, kayıt kısıtlamalarını otomatik olarak atlamaz:
- Davet edilen kişinin zaten bir Multica hesabı varsa, giriş yapıp daveti kabul edebilir.
- Yoksa, e-postalarının yukarıdaki kayıt kurallarını karşılaması gerekir.
Açık kaydın devre dışı olduğu bir örnekte yeni bir üyeyi davet etmek için önce e-postalarını ALLOWED_EMAILS'e ekleyin. Hesap oluşturulup davet kabul edildikten sonra girdiyi tekrar kaldırabilirsiniz.
Oturum ömrü
Tarayıcı girişleri varsayılan olarak 30 gün sürer. Bir Go süresi veya pozitif bir tam sayı saniye kabul eden AUTH_TOKEN_TTL ile ayarlayın:
AUTH_TOKEN_TTL=720hDeğiştirdikten sonra API hizmetini yeniden başlatın. Değer yalnızca bundan sonra verilen giriş çerezlerini ve JWT'leri etkiler; zaten verilmiş token'ları uzatmaz.
Sonraki adımlar
- Ortam değişkenleri — tam değişken referansı.
- Kimlik doğrulama ve token'lar — giriş oturumları ve token türleri.
- Üyeler ve roller — davetler ve roller.