Auth Servisi
PlanlananKullanıcı kimlik doğrulama, JWT yönetimi, session kontrolü ve 2FA desteği.
Son güncelleme: 10 Şubat 2024
8 dk okuma
v1.0
PlanlananGeliştirme Aşamasında
Auth servisi şu anda geliştirme aşamasındadır. Bu dokümantasyon, planlanan özellikleri ve mimari tasarımı açıklamaktadır.
Genel Bakış
Auth-service, EVDSOFT platformunun kimlik doğrulama servisdir. Kullanıcı kaydı, giriş, oturum yönetimi, şifre sıfırlama ve iki faktörlü kimlik doğrulama (2FA) işlemlerini yönetir.
Servis, platform-service'ten alınan yapılandırmayı kullanır. Her proje için farklı auth politikaları (JWT ayarları, session timeout, parola kuralları) uygulanabilir.
Planlanan
auth.services.evdsoft.comBu servis henüz yayında değildir. Geliştirme tamamlandığında bu adres üzerinden erişilebilir olacaktır.
Planlanan Özellikler
JWT tabanlı kimlik doğrulama
Refresh token desteği
Session yönetimi ve multi-device
E-posta doğrulama
Şifre sıfırlama akışı
İki faktörlü kimlik doğrulama (TOTP)
Proje bazlı kullanıcı üyelikleri
OAuth entegrasyonu (gelecekte)
API Endpoint'leri
Planlanan API endpoint'leri:
| Method | Path | Açıklama |
|---|---|---|
| POST | /api/auth/register | Yeni kullanıcı kaydı |
| POST | /api/auth/login | Kullanıcı girişi |
| POST | /api/auth/logout | Oturum sonlandırma |
| POST | /api/auth/refresh | Token yenileme |
| GET | /api/auth/me | Mevcut kullanıcı bilgileri |
| POST | /api/auth/forgot-password | Şifre sıfırlama isteği |
| POST | /api/auth/reset-password | Şifre sıfırlama |
| POST | /api/auth/verify-email | E-posta doğrulama |
| POST | /api/auth/2fa/enable | 2FA etkinleştirme |
| POST | /api/auth/2fa/verify | 2FA doğrulama |
Login Endpoint Detayı
Kullanıcı giriş endpoint'i için istek ve yanıt formatları:
JSON
{
"email": "user@example.com",
"password": "securePassword123",
"rememberMe": true
}Veritabanı Şeması
Auth-service aşağıdaki veritabanı tablolarını kullanacaktır:
users
| Kolon | Tip | Null | Varsayılan | Açıklama |
|---|---|---|---|---|
id | UUID | NOT NULL | - | Benzersiz kullanıcı kimliği |
email | VARCHAR(255) | NOT NULL | - | E-posta adresi (benzersiz) |
password_hash | VARCHAR(255) | NOT NULL | - | Bcrypt hash'lenmiş şifre |
name | VARCHAR(255) | NULL | - | Kullanıcı adı |
email_verified_at | TIMESTAMP | NULL | - | E-posta doğrulama tarihi |
created_at | TIMESTAMP | NOT NULL | NOW() | Oluşturulma tarihi |
updated_at | TIMESTAMP | NOT NULL | NOW() | Güncellenme tarihi |
sessions
| Kolon | Tip | Null | Varsayılan | Açıklama |
|---|---|---|---|---|
id | UUID | NOT NULL | - | Benzersiz session kimliği |
user_id | UUID | NOT NULL | - | İlişkili kullanıcı ID |
project_id | UUID | NOT NULL | - | İlişkili proje ID |
token | VARCHAR(500) | NOT NULL | - | JWT token |
ip_address | VARCHAR(45) | NULL | - | IP adresi |
user_agent | TEXT | NULL | - | Tarayıcı bilgisi |
expires_at | TIMESTAMP | NOT NULL | - | Token geçerlilik süresi |
created_at | TIMESTAMP | NOT NULL | NOW() | Oluşturulma tarihi |
refresh_tokens
| Kolon | Tip | Null | Varsayılan | Açıklama |
|---|---|---|---|---|
id | UUID | NOT NULL | - | Benzersiz refresh token kimliği |
user_id | UUID | NOT NULL | - | İlişkili kullanıcı ID |
session_id | UUID | NOT NULL | - | İlişkili session ID |
token | VARCHAR(500) | NOT NULL | - | Refresh token |
expires_at | TIMESTAMP | NOT NULL | - | Geçerlilik süresi |
revoked_at | TIMESTAMP | NULL | - | İptal tarihi |
Ek Tablolar
project_users, email_verifications, password_resets vetwo_factor_secrets tabloları da bulunacaktır.Auth Akışı
Tipik kimlik doğrulama akışları:
Kayıt Akışı
1
ClientPOST /api/auth/registerAuth Service
2
Auth ServiceDomain bilgisi ile konfigürasyon alPlatform Service
3
Auth ServiceKullanıcı oluşturDatabase
4
Auth ServiceDoğrulama e-postası gönderMail Service
5
Auth ServiceBaşarılı yanıt döndürClient
Giriş Akışı
1
ClientPOST /api/auth/loginAuth Service
2
Auth ServiceKimlik bilgilerini doğrulaDatabase
3
Auth ServiceJWT ve refresh token oluştur
4
Auth ServiceSession kaydı oluşturDatabase
5
Auth ServiceToken'ları döndürClient