Şifrelerin Sonu Geldi
Şifrelerin Sonu Geldi
Şifreler artık geçerli değil.
Hepimiz biliyoruz. Siz de biliyorsunuz. Kullanıcılarınız da biliyor. Ancak 2026’da hala şifre hash’lerini 2016 gibi saklamaya devam ediyoruz.
Gelecek şifresiz bir sistem. Ve bu sadece bir tahmin değil—zaten burada.
Ancak WebAuthn (FIDO2) uygulamak karmaşık: zorluklar, faturalar, açık anahtar kriptografisi, tarayıcı uyumluluğu… karmaşıklık overwhelming.
Şimdiye kadar.
İşte karşınızda Vaultic: Laravel için üretime uygun bir WebAuthn/Passkeys paketi, şifresiz kimlik doğrulamayı bir composer paketi yüklemek kadar basit hale getiriyor.
Face ID. Touch ID. Windows Hello. Güvenlik Anahtarları.
Bugün Laravel uygulamanızda hepsi çalışıyor.
Neden Passkeys ile İlgilenmelisiniz?
Neden Passkeys ile İlgilenmelisiniz?
Şifrelerin Sorunu
Şifrelerin Sorunu
| Sorun | Etki |
|---|---|
| 🔓 Aldatma (Phishing) | Kullanıcılar sahte giriş istemlerine kapılabiliyor |
| 🔑 Yeniden Kullanım | 100 site için aynı şifre kullanımı |
| 💥 Sızmalar | 2024’te 33 milyar şifre sızdırıldı |
| 📞 Destek Maliyeti | Şifre sıfırlamaları yönetici zaman kaybına yol açıyor |
| 😤 Kullanıcı Deneyimi Acısı | Kullanıcılar şifreleri hatırlamaktan nefret ediyor |
Neden Passkeys Kazanır?
Neden Passkeys Kazanır?
🛡️ Aldatmaya karşı koruma → Anahtarlar SADECE SİZİ DOMAİNİNİZE kilitli
📱 Biyometrik öncelikli → Face ID, Touch ID, Windows Hello
⚡ Çığ gibi hızlı → Yazmak yerine dokun
🔐 Kriptografik olarak → FIDO2 standartları (kırılmaz)
güvenli
🌍 Evrensel destek → Tüm modern tarayıcılar, tüm platformlar
Sonuç?
Passkeys’e geçen şirketler bildiriyor:
- 📉 %50 daha az şifre sıfırlama talebi
- ⚡ %90 daha hızlı giriş deneyimi
- 🚫 ~%0 dolandırıcılık saldırısı (anahtarlar çalınamaz)
- 😊 Yüksek kullanıcı memnuniyeti
Vaultic Nedir?
Vaultic Nedir?
Vaultic, WebAuthn karmaşasını soyutlayan bir Laravel paketi. Onu, passkeys için Rails çerçevesi gibi düşünün—şablon yazmadan hızlıca yola çıkın.
Özellik Kontrol Listesi
Özellik Kontrol Listesi
| Özellik | Durum |
|---|---|
| 🎯 Çoklu koruma desteği (web + API) | ✅ |
| 📱 Durumsal + durumsuz akışlar | ✅ |
| 🎨 Önceden oluşturulmuş Blade bileşenleri | ✅ |
| 📊 Aktivite izleme (son giriş, IP, cihaz) | ✅ |
| 🔄 Yedek kimlik doğrulama | ✅ |
| 🚀 Laravel Sanctum entegrasyonu | ✅ |
| ⚙️ Hiçbir yapılandırma gerektirmiyor | ✅ |
| 🔧 Özelleştirilebilir WebAuthn doğrulayıcı | ✅ |
| 📚 Kapsamlı testler | ✅ |
| 🏆 Savaş testinden geçmiş (19+ sürüm) | ✅ |
⚡ Hızlı Başlangıç: Passkeys 5 Dakikada
⚡ Hızlı Başlangıç: Passkeys 5 Dakikada
Adım 1️⃣: Kurulum
Adım 1️⃣: Kurulum
composer require hamzi/vaultic
Adım 2️⃣: Varlıkları Yayınla & Göç Et
Adım 2️⃣: Varlıkları Yayınla & Göç Et
php artisan vendor:publish --provider="Hamzi\\Vaultic\\VaulticServiceProvider" --tag=vaultic-config
php artisan vendor:publish --provider="Hamzi\\Vaultic\\VaulticServiceProvider" --tag=vaultic-migrations
php artisan vendor:publish --provider="Hamzi\\Vaultic\\VaulticServiceProvider" --tag=vaultic-views
php artisan migrate
Adım 3️⃣: Girişinize Buton Ekleyin
Adım 3️⃣: Girişinize Buton Ekleyin
Blade:
<:passkey-button size="md" :full-width="true">
Adım 4️⃣: 🎉 Tamam!
Adım 4️⃣: 🎉 Tamam!
Kullanıcılarınız şimdi aşağıdakilerle kayıt olabiliyor ve giriş yapabiliyor:
- 👤 Face ID
- 👆 Touch ID
- 🪟 Windows Hello
- 🔑 Güvenlik Anahtarları
Hepsi bu kadar. WebAuthn bilgisi gerektirmiyor.
🏗️ Mimarisi: Nasıl Çalışır
🏗️ Mimarisi: Nasıl Çalışır
Vaultic, temiz, katmanlı bir mimari kullanır:
┌─────────────────────────────────┐
│ HTTP Katmanı │
│ (Kontrolörler + Middleware) │
└────────────┬────────────────────┘
│
┌────────────▼────────────────────┐
│ Servis Katmanı │
│ (WebAuthn Orkestrasyonu) │
└────────────┬────────────────────┘
│
┌────────────▼────────────────────┐
│ Depo Katmanı │
│ (Passkey Sürekliliği) │
└────────────┬────────────────────┘
│
┌────────────▼────────────────────┐
│ Eloquent Modeller │
│ (Veritabanı) │
└─────────────────────────────────┘
Temiz görev ayrımı. Test etmesi kolay. Genişletmesi kolay.
💼 Gerçek Dünya Örneği: Çoklu Koruma Kurulumu
💼 Gerçek Dünya Örneği: Çoklu Koruma Kurulumu
Uygulamanız hem bir web arayüzü (Blade) hem de bir API (Sanctum) içeriyor. Vaultic, kendi başına bu ikisini de yönetiyor:
// config/vaultic.php
'auth' => [
'guards' => [
// 🌐 Web Girişi
'web' => [
'guard' => 'web',
'provider_model' => App\Models\User::class,
'identifier_column' => 'email',
],
// 📱 API Kimlik Doğrulama
'api' => [
'guard' => 'sanctum',
'provider_model' => App\Models\User::class,
'identifier_column' => 'email',
'token_issuer' => Hamzi\Vaultic\Services\SanctumApiTokenIssuer::class,
],
],
],
Akış:
- 🌐 Web kullanıcısı → passkey butonuna tıklar → oturum alır → kontrol paneline yönlendirilir
- 📱 Açık istemci → açık anahtar gönderir → Sanctum jetonu alır → API’yi arar
Her ikisi de aynı passkey veritabanını kullanır. Tekrar yok, karmaşıklık yok.
🎁 Anahtar Özellikler Derinlemesine
🎁 Anahtar Özellikler Derinlemesine
1️⃣ Passkey Yönetim Paneli
1️⃣ Passkey Yönetim Paneli
Kullanıcıların kendi passkey’lerini yönetmelerine izin verin:
<:passkey-panel>
Kullanıcılar şunları görür:
- 📋 Bağlı kimlik doğrulayıcıların listesi (iPhone, Yubikey, Windows Hello, vb.)
- 🕐 Son kullanım zamanı
- 🌍 Son kullanılan IP adresi
- 🗑️ Kaybolan cihazlar için tek tıklama ile silme
Şeffaflık = Güven.
2️⃣ Aktivite Günlüğü & Güvenlik Olayları
2️⃣ Aktivite Günlüğü & Güvenlik Olayları
Güvenlik olaylarını dinleyin:
Event::listen(PasskeyAuthenticated::class, function ($event) {
Log::info('Kullanıcı passkey ile kimlik doğruladı', [
'user_id' => $event->user->id,
'ip' => request()->ip(),
'device' => $event->passkey->metadata,
]);
});
Mevcut olaylar:
- ✅
PasskeyRegistered— Yeni anahtar eklenmesi - ✅
PasskeyAuthenticated— Kullanıcı giriş yaptı - ❌
AuthenticationFailed— Saldırı tespit edildi
3️⃣ Hız Sınırlaması (Yerleşik)
3️⃣ Hız Sınırlaması (Yerleşik)
Kaba kuvvet saldırılarına karşı korunma:
'rate_limit' => [
'attempts' => 10,
'decay_seconds' => 60,
],
10 başarısız denemeden sonra → 60 saniyeliğine kilitlendi.
4️⃣ Yedek Kimlik Doğrulama
4️⃣ Yedek Kimlik Doğrulama
Passkey işe yaramazsa (kaybolan cihaz, tarayıcı desteklemiyorsa):
'fallback' => [
'driver' => 'password', // veya 'otp' veya özel
],
Kullanıcılar şifre veya kurtarma kodlarına geçebilir.
5️⃣ Özelleştirilebilir WebAuthn Doğrulayıcı
5️⃣ Özelleştirilebilir WebAuthn Doğrulayıcı
Kendi FIDO2 kütüphanenizi kullanın (Duo, Yubico, vb.):
$this->app->bind(
Hamzi\Vaultic\Contracts\WebAuthnVerifier::class,
App\Security\CustomWebAuthnVerifier::class
);
Hiçbir satıcıya bağımlılık yok. Tam esneklik.
🔌 Özelleştirilmiş UI’ler için API Uç Noktaları
🔌 Özelleştirilmiş UI’ler için API Uç Noktaları
Vaultic, temiz JSON uç noktaları sunar:
📝 Kayıt
POST /passkeys/register/options → Zorluk gönder
POST /passkeys/register → Passkey'i kaydet
🔓 Kimlik Doğrulama
POST /passkeys/authenticate/options → Zorluk gönder
POST /passkeys/authenticate → Giriş yap & jeton al
🗑️ Yönetim
DELETE /passkeys/{passkey} → Passkey'i kaldır
Tüm JSON yanıtları. Özelleştirilmiş UI’leri oluşturun:
- ⚛️ React / Vue / Svelte
- 📱 Yerel iOS / Android
- 🤖 Başsız sistemler
- 🌐 Özelleştirilmiş ön uçlar
🌍 Tarayıcı & Cihaz Desteği
🌍 Tarayıcı & Cihaz Desteği
Vaultic her yerde çalışır:
Platform Kimlik Doğrulayıcıları
Platform Kimlik Doğrulayıcıları
- 🍎 iOS/macOS: Face ID, Touch ID
- 🪟 Windows: Windows Hello (yüz, parmak izi, PIN)
- 🐧 Linux: Parmak izi okuyucular
Cihazlar Arası Kimlik Doğrulama
Cihazlar Arası Kimlik Doğrulama
- 📱 Telefonu Güvenlik Anahtarı Olarak Kullanma: Bluetooth ile (iPhone’unuza dokunarak Mac’inizi açın)
Donanım Anahtarları
Donanım Anahtarları
- 🔑 Yubikey, Google Titan, Ledger (USB/NFC/BLE)
Vaultic, keşfedilebilir kimlik bilgilerine öncelik verecek şekilde yapılandırılmıştır, bu da şunları anlamına gelir:
- Kullanıcı adı girişi gerekmez
- Tarayıcı biyometrik isteği yönetir
- Tüm cihazlarda kesintisiz kullanıcı deneyimi
📦 Tarayıcı Uyumluluğu
📦 Tarayıcı Uyumluluğu
| Tarayıcı | WebAuthn Desteği |
|---|---|
| ✅ Chrome 67+ | Tam destek |
| ✅ Firefox 60+ | Tam destek |
| ✅ Safari 13+ | Tam destek |
| ✅ Edge 18+ | Tam destek |
| ✅ Opera 54+ | Tam destek |
Özet: Eğer kullanıcılarınız modern tarayıcıları kullanıyorsa (ki kullanıyorlar), passkeys her yerde çalışır.
🚀 Yayın Kontrol Listesi
🚀 Yayın Kontrol Listesi
Üretime çıkmadan önce:
- ✅
APP_URLdoğru (WebAuthn alanına kilitlidir) - ✅
CACHE_DRIVERyapılandırması yapılmış (dosya, Redis, vb.) - ✅ Güvenilir proxy’ler ayarlandı (yük dengeleyici arkasındaysanız)
- ✅
composer testgeçiyor mu - ✅ Gerçek cihazlarda test edildi
- ✅ Olay dinleyicileri yapılandırıldı
- ✅ Yedek kimlik doğrulama test edildi
- ✅ Security.md politikası oluşturuldu
📊 Gerçek Etki Sayıları
📊 Gerçek Etki Sayıları
Passkeys’e geçen şirketler:
| Metrik | Etki |
|---|---|
| 📞 Destek talepleri | ⬇️ %50 daha az |
| ⚡ Giriş hızı | ⬇️ %90 daha hızlı |
| 🔓 Dolandırıcılık saldırıları | ⬇️ ~%0 |
| 😊 Kullanıcı memnuniyeti | ⬆️ Önemli ölçüde yükseldi |
| 🔐 Güvenlik olayları | ⬇️ Neredeyse sıfıra indi |
❓ SSS: Sorularınızın Cevapları
❓ SSS: Sorularınızın Cevapları
S: “Bir kullanıcı cihazını kaybederse ne olur?”
S: “Bir kullanıcı cihazını kaybederse ne olur?”
C: Vaultic yedek kimlik doğrulamayı destekliyor. Şöyle yapılandırın:
'fallback' => ['driver' => 'password'],
Kayıp cihaz? Şifre veya kurtarma koduna geçebilirsiniz.
S: “Kullanıcılarım gerçekten passkeys kullanacak mı?”
S: “Kullanıcılarım gerçekten passkeys kullanacak mı?”
C: Evet. Kullanıcılar biyometrik giriş seçeneği gördüklerinde, tercih ediyorlar. Hiçbir sürtünme yok = anında benimseme.
S: “Üretime hazır mı?”
S: “Üretime hazır mı?”
C: %100. Vaultic, 19+ sürüm, kapsamlı testler içerir ve Laravel standartlarına (CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md) uyar.
S: “Şifreleri passkeys ile birlikte tutabilir miyim?”
S: “Şifreleri passkeys ile birlikte tutabilir miyim?”
C: Evet. Passkeys isteğe bağlıdır, zorunlu değildir. Şunları yapabilirsiniz:
- Passkeys’i bir seçenek olarak sunun
- Şifreli giriş sağlamaya devam edin
- Kullanıcıları yavaş yavaş geçirin
- Benimsemeyi olaylar aracılığıyla izleyin
S: “Eski tarayıcılar için ne olacak?”
S: “Eski tarayıcılar için ne olacak?”
C: Yedek kimlik doğrulamayı kullanın. WebAuthn desteklenmiyorsa şifreye nazikçe geçin.
S: “Bu, kimlik doğrulama akışımı nasıl etkiler?”
S: “Bu, kimlik doğrulama akışımı nasıl etkiler?”
C: Minimum değişiklikler. Vaultic, Laravel’in kimlik doğrulama sistemiyle sorunsuz bir şekilde entegre olur.
🎯 Gelecek Şifresiz
🎯 Gelecek Şifresiz
Zaman Çizelgesi:
- 2023: Apple, Google, Microsoft passkey desteğini duyurdu
- 2024: Kurumsal benimseme hızlanıyor
- 2025: Passkeys ana akım haline geliyor
- 2026: Şifreler miras/devre dışı (şu an olduğumuz yer)
Laravel uygulamanız geleceği beklemek zorunda değil—şifresiz kimlik doğrulamaya bugünden geçebilirsiniz.
🚀 Başlarken (3 Adım)
🚀 Başlarken (3 Adım)
1. Belgeleri Okuyun
1. Belgeleri Okuyun
👉 github.com/hamdyelbatal122/vaultic
2. Paketi Kurun
2. Paketi Kurun
composer require hamzi/vaultic
3. Bir Buton Ekleyin
3. Bir Buton Ekleyin
<:passkey-button>
Hepsi bu kadar. Kullanıcılar passkeys ile kayıt olabiliyor ve giriş yapabiliyor.
💚 Vaultic’i Destekleyin
💚 Vaultic’i Destekleyin
Vaultic projenize yardımcı oluyorsa:
Açık kaynak toplumu desteklemekte büyümektedir. Her yıldız, her sorun, her katkı önemlidir.
🤝 Şifresiz Geleceğe Katılın
🤝 Şifresiz Geleceğe Katılın
Şifre dönemi sona eriyor. Passkeys gelecektir.
Vaultic, geçişi sorunsuz hale getirir.
📚 Daha Fazla Okuma
📚 Daha Fazla Okuma
Sorular? Aşağıdaki yorumlarda yazın. 👇
Bu yazıyı yararlı bulduysanız paylaşın. 🚀
Kaynak: Orijinal Makale
- Şifrelerin Sonu Geldi
- Neden Passkeys ile İlgilenmelisiniz?
- Vaultic Nedir?
- ⚡ Hızlı Başlangıç: Passkeys 5 Dakikada
- Adım 1️⃣: Kurulum
- Adım 2️⃣: Varlıkları Yayınla & Göç Et
- Adım 3️⃣: Girişinize Buton Ekleyin
- Adım 4️⃣: 🎉 Tamam!
- 🏗️ Mimarisi: Nasıl Çalışır
- 💼 Gerçek Dünya Örneği: Çoklu Koruma Kurulumu
- 🎁 Anahtar Özellikler Derinlemesine
- 1️⃣ Passkey Yönetim Paneli
- 2️⃣ Aktivite Günlüğü & Güvenlik Olayları
- 3️⃣ Hız Sınırlaması (Yerleşik)
- 4️⃣ Yedek Kimlik Doğrulama
- 5️⃣ Özelleştirilebilir WebAuthn Doğrulayıcı
- 🔌 Özelleştirilmiş UI’ler için API Uç Noktaları
- 🌍 Tarayıcı & Cihaz Desteği
- 📦 Tarayıcı Uyumluluğu
- 🚀 Yayın Kontrol Listesi
- 📊 Gerçek Etki Sayıları
- ❓ SSS: Sorularınızın Cevapları
- S: “Bir kullanıcı cihazını kaybederse ne olur?”
- S: “Kullanıcılarım gerçekten passkeys kullanacak mı?”
- S: “Üretime hazır mı?”
- S: “Şifreleri passkeys ile birlikte tutabilir miyim?”
- S: “Eski tarayıcılar için ne olacak?”
- S: “Bu, kimlik doğrulama akışımı nasıl etkiler?”
- 🎯 Gelecek Şifresiz
- 🚀 Başlarken (3 Adım)
- 💚 Vaultic’i Destekleyin
- 🤝 Şifresiz Geleceğe Katılın


