Multica Docs

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

  1. Resend'de bir gönderim alan adını doğrulayın ve bir API anahtarı oluşturun.

  2. Ayarlayın:

    RESEND_API_KEY=re_xxxxxxxxxxxxxxxx
    RESEND_FROM_EMAIL=noreply@example.com
  3. 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.com

Yaygın bağlantı modları:

SenaryoYapılandırma
Dahili anonim relaySMTP_PORT=25, kullanıcı adı ve parolayı boş bırakın
STARTTLSSMTP_PORT=587; sunucu destekliyorsa varsayılan olarak TLS'e yükseltir
Dolaylı TLSSMTP_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.com

Bir 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=888888

Kod 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ş

  1. Google Cloud Console'da bir OAuth 2.0 istemcisi oluşturun.

  2. Multica ön ucunun geri çağırma URL'sini Authorized redirect URIs'e ekleyin:

    https://multica.example.com/auth/callback
  3. Ayarlayın:

    GOOGLE_CLIENT_ID=xxxxx.apps.googleusercontent.com
    GOOGLE_CLIENT_SECRET=GOCSPX-xxxxxxxxxxxxxxx
    GOOGLE_REDIRECT_URI=https://multica.example.com/auth/callback
  4. 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şkenEtkisi
ALLOWED_EMAILSKayıt olmasına izin verilen tam e-posta adresleri, virgülle ayrılmış
ALLOWED_EMAIL_DOMAINSKayıt olmasına izin verilen e-posta alan adları, virgülle ayrılmış
ALLOW_SIGNUPHiçbir izin listesi yapılandırılmadığında kaydın izinli olup olmadığı; varsayılan true

Değerlendirme sırası:

  1. E-posta ALLOWED_EMAILS ile eşleşir — izin ver.
  2. Ya da alan adı ALLOWED_EMAIL_DOMAINS ile eşleşir — izin ver.
  3. Eşleşme yoksa ve ALLOW_SIGNUP=false ise — reddet.
  4. ALLOW_SIGNUP=true olsa da herhangi bir izin listesi yapılandırılmışsa ve eşleşme yoksa — yine de reddet.
  5. Hiçbir izin listesi yapılandırılmamışsa ve ALLOW_SIGNUP=true ise — 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.net

ALLOW_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=720h

Değ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