# OAuth ve SMTP Kurulumu

## Genel callback yaklaşımı

Admin panelinde görünen callback adreslerini sağlayıcının geliştirici paneline birebir ekleyin. Örnek production tabanı:

```text
https://app.example.com
```

Staging ve production için ayrı client bilgileri kullanın.

## Google

- OpenID Connect / OAuth web application
- Client ID
- Client Secret
- Redirect URI
- Scope: `openid email profile`

## Apple

- Services ID
- Team ID
- Key ID
- Private key/certificate, harici secret manager
- Redirect URI ve domain doğrulaması

Apple private key'i admin ekranında düz metin tutmak yerine secret manager üzerinden sağlamanız önerilir.

## Facebook

- Facebook Login for Web
- App ID
- App Secret
- Valid OAuth Redirect URI
- E-posta izni yalnızca ihtiyaç varsa

## X

- OAuth 2.0 Authorization Code + PKCE
- Client ID
- Gerekliyse Client Secret
- Callback URI
- Minimum scope

## Hesap eşleştirme

- Sağlayıcı subject ID tekildir.
- Aynı e-posta otomatik birleştirilmeden önce doğrulanmış e-posta şartı uygulanmalıdır.
- Kullanıcıya bağlı sağlayıcıları admin panelinde görüntüleyin.
- OAuth `state`, PKCE verifier ve değişim kodları tek kullanımlıktır.

## SMTP

Admin veya environment üzerinden:

```text
SMTP host
SMTP port
TLS/STARTTLS
SMTP username
SMTP password
Gönderici adı
Gönderici e-posta
```

Parola şifreli secret store'da tutulur ve panelde maskelenir.

## E-posta türleri

- E-posta doğrulama
- Parola sıfırlama
- Testnet cüzdan oluşturma bildirimi
- Mainnet cüzdan adresi doğrulama
- Ödeme/deposit durum bildirimi için genişletilebilir kuyruk

## Cüzdan güvenliği

Aşağıdakileri e-postaya koymayın:

```text
Cüzdan parolası
Private key
Seed phrase
Keystore çözme anahtarı
```

E-posta yalnızca açık adres, ağ, tek kullanımlık şifreli yedek bağlantısı ve güvenlik uyarısı içermelidir.

## Teslimat kalitesi

- SPF
- DKIM
- DMARC
- Bounce/complaint takibi
- Gönderim kuyruğu retry ve alarmı
- Rate limit
- Kullanıcı bazında doğrulama kodu yanlış deneme limiti
