Kuruluşlar ve geliştiriciler, kullanıcıları şifrelerden geçiş anahtarlarına taşırken önemli bir engelle karşılaşıyor. Geçiş anahtarları önemli bir güvenlik yükseltmesi sunsa da manuel oluşturma süreci genellikle sorunlara yol açabilir. Yüksek hacimli bir e-ticaret ortamında, her saniyelik tereddüt önemlidir. Çünkü herhangi bir gecikme, satın alma yolunu kesintiye uğratabilir ve alışveriş sepetini terk etmeye yol açabilir. Ayrıca, oturum açma hatalarını ve kullanıcıların hayal kırıklığına uğramasını önlemek için kimlik bilgisi durumlarının sunucu ile kullanıcının cihazı arasında senkronize tutulması gerekir.
adidas da tam olarak bu zorluklarla karşılaştı. Asıl hedefleri, giriş sürecindeki sorunları ortadan kaldırmak ve web ile uygulama platformları ve cihazlardaki deneyimi basitleştirmekti. Güvenlik her zaman öncelikli bir konu olsa da ürün ekibi, geçiş anahtarlarıyla kaydolma ve oturum açma akışlarını olabildiğince sorunsuz hale getirmeye odaklandı.
adidas, bu zorlukların üstesinden gelmek için Koşullu Oluşturma'yı uygulayarak şifre kullanıcılarını otomatik olarak geçiş anahtarlarına yükseltti ve Signal API'yi kullanarak kimlik bilgilerinin tutarlı kalmasını sağladı. Ayrıca, gerektiğinde alanlar arası kullanımı desteklemek için İlgili Kaynak İstekleri'ni de kullanıma sundular.
Sonuçlar
adidas'ın geçiş anahtarı oluşturma sürecini otomatikleştirme ve kimlik bilgisi sağlığını koruma stratejisi, hem geçiş anahtarı kullanımında hem de oturum açma güvenilirliğinde anında ve ölçülebilir sonuçlar verdi:
- Yüksek benimseme oranı: adidas, geçiş anahtarıyla oturum açma sürecini kullanıma sunduğundan beri %47 oranında genel geçiş anahtarı oluşturma oranı elde etti. Buna hem otomatik koşullu oluşturma hem de kayıt veya oturum açma akışları sırasında istenen kullanıcı tarafından başlatılan kayıtlar dahildir. Bu özellik, özellikle mobil cihazlarda yüksek oranda kullanıldı. Mobil cihazlarda dönüşüm oranı% 52 (masaüstünde% 34) oldu.
- Koşullu oluşturma kullanılarak hızlandırılmış yükseltmeler: Açık istemlerin ötesinde, adidas, mevcut şifre kullanıcılarını arka planda sorunsuz bir şekilde yükselterek ve manuel kullanıcı işlemi gerektirmeden geçiş anahtarı oluşturma sayısında % 8 artış elde etti.
- Neredeyse mükemmel oturum açma güvenilirliği: Geçiş anahtarları, oturum açma işlemi başlatıldıktan sonra %99'dan yüksek başarı oranı sağladı. Bu, adidas'ın geçmişteki %70'lik şifre başarı oranına kıyasla büyük bir güvenlik yükseltmesidir. Bu oran, yazım hataları veya unutulan kimlik bilgileri gibi insan kaynaklı hatalar nedeniyle genellikle düşüyordu.
- Sürtünme ve hatalar en aza indirildi: adidas, cihaz ve sunucu kimlik bilgilerini otomatik olarak senkronize etmek için Signal API'yi dağıtarak
PASSKEY_NOT_FOUNDhatalarını oturum açma girişimlerinin %0,3'ünden daha az bir oranda tutmayı başardı. Bu sayede, artık duruma düşen geçiş anahtarlarının neden olduğu kullanıcı hayal kırıklığı etkili bir şekilde ortadan kaldırıldı.
47 %
Geçiş anahtarı oluşturma oranı
8 %
Koşullu oluşturma kullanılarak oluşturulan geçiş anahtarlarında artış
>99 %
Başlatıldıktan sonra geçiş anahtarıyla oturum açma başarı oranı
<0,3 %
Bağlantısı kaldırılmış geçiş anahtarı hata oranı
adidas sorunu nasıl çözdü?
adidas bu zorlukları nasıl ele aldı?
1. Koşullu oluşturma ile benimseme sürecini hızlandırın
adidas, kullanıcıların geçiş anahtarlarını sorunsuz bir şekilde kullanmaya başlamasına yardımcı olmak için Koşullu Oluşturma'yı (Conditional Create) uyguladı. Bu özellik, bir kullanıcının şifre yöneticisinde depolanan bir şifreyle oturum açtığında web sitesinin otomatik olarak geçiş anahtarı oluşturmasına olanak tanır. En yüksek başarı oranını elde etmek için sistem, oturum açma işlemi başarılı olduktan hemen sonra API'yi çağırır. Böylece sistem, şifre kullanımını yeni olarak tanır.
const cred = await navigator.credentials.create({
publicKey: options,
mediation: 'conditional' // Enables automatic passkey creation
});
adidas, bu özelliği önce kullanıcının ortamını doğrulayan özel bir mantıkla entegre etti. Sistem, özellikle Koşullu Oluşturma özelliğinin tarayıcı tarafından desteklenip desteklenmediğini kontrol eder. Sistem, kullanıcının son altı ay içinde geçiş anahtarı oluşturma işlemini üç kez atlaması durumunda istemi bastırarak kullanıcı tercihlerine de saygı gösterir.
Ortam uyumluysa sistem, başarılı kullanıcı kimlik doğrulamasından hemen sonra arka planda geçiş anahtarı oluşturmaya çalışır. Bu özel zamanlama, ön koşulların karşılanma olasılığını artırır. En önemlisi, uygulama, kullanıcı erişimine her zaman öncelik vermek için WebAuthn istisnalarını "başarısız olsa da erişime izin ver" felsefesiyle ele alır. Tarayıcı, geçiş anahtarının zaten mevcut olduğunu belirten bir InvalidStateError bildirirse sistem, arka planda oluşturma işlemini durdurur ve kullanıcıyı hemen oturum açar. Aksine, NotAllowedError oluşursa (yani otomatik oluşturma için gerekli koşullar karşılanmamışsa) sistem bu durumu algılar ve kullanıcıyı manuel kurulum sürecinde yönlendirmek için "Geçiş Anahtarı Toplayıcı" ekranına yönlendirir. adidas, bu teknik kısıtlamalar ile kullanıcı davranışları arasında ayrım yaparak geçiş anahtarı yükseltmelerinin teşvik edilmesinin oturum açma deneyimini kesintiye uğratmak yerine iyileştirmesini sağlar.
2. Signal API ile güvenilirliği sağlama
Kullanıcılar kimlik bilgilerini cihazlar arasında yönetirken tutarsızlıklar oluşabilir. Örneğin, geçiş anahtarı sunucudan silinebilir ancak kullanıcının cihazında kalabilir. adidas, bu "hayalet" kimlik bilgilerinden kaynaklanan oturum açma hatalarını önlemek için Signal API'yi uyguladı. Bu API, sunucunun kimlik bilgilerinin durumunu geçiş anahtarı sağlayıcıya bildirmesine olanak tanır.
adidas, bu tutarlılığı korumak için mevcut üç Signal API yöntemini de kullanır. adidas, hangi kimlik bilgilerinin kaldırılacağını tahmin etmek yerine belirli kullanıcı yaşam döngüsü etkinliklerini uygun API çağrısıyla eşler:
- Kayıt hataları: İstemcide oluşturulan ancak arka uçta kaydedilemeyen geçiş anahtarları için adidas, üst öğesi olmayan kimlik bilgilerini hemen kaldırmak üzere
signalUnknownCredentialkullanır. - Geçersiz oturum açma işlemleri: Kullanıcı, iptal edilmiş veya eski bir geçiş anahtarıyla oturum açmaya çalışırsa
signalUnknownCredential, sağlayıcıya geçiş anahtarını gizlemesi için sinyal gönderir. - Kullanıcı yönetimi: Bir kullanıcı, hesap ayarlarında geçiş anahtarını açıkça kaldırdığında
signalAllAcceptedCredentials, izin verilenler listesini senkronize eder. Bu işlem, silinen geçiş anahtarının artık sunulmamasını sağlar. - Hesap güncellemeleri: Bir kullanıcı e-posta adresini veya kullanıcı adını değiştirdiğinde,
signalCurrentUserDetailscihazdaki meta verileri sunucuyla eşleşecek şekilde günceller.
// Detect authentication failure due to lack of the credential
if (result.status === 404) {
if (PublicKeyCredential.signalUnknownCredential) {
await PublicKeyCredential.signalUnknownCredential({
rpId: "adidas.com",
credentialId: "..." // base64url encoded credential ID
});
}
}
3. İlgili Kaynak İstekleri ve Digital Asset Links ile erişimi birleştirme
adidas, çok pazarlı mimarisini daha fazla desteklemek için İlgili Kaynak İstekleri'ni uyguladı. Çoğu kullanıcı yerel pazarında kalırken (ör. adidas.nl) bu yapılandırma, bölgeler arasında gezinirken tek bir bağlı taraf kimliği (adidas.com) hedefleyerek izin verilen alanlarda geçiş anahtarlarını yeniden kullanmalarına olanak tanır.
adidas, bu özelliği etkinleştirmek için birincil Relying Party ID (RP ID) alanında bir webauthn yapılandırma dosyası barındırır. Bu dosya, geçiş anahtarı kaydı ve kimlik doğrulama için adidas.com kullanmasına izin verilen kaynakların açık bir izin verilenler listesini içerir. Bu ilişkileri tanımlayarak tarayıcı, bir bölgesel sitede oluşturulan geçiş anahtarının başka bir sitede kullanılabileceğini doğrulayabilir ve böylece dünya genelindeki kullanıcılara sorunsuz bir deneyim sunar.
// https://www.adidas.com/.well-known/webauthn
{
"origins": [
"https://www.adidas.fi",
"https://www.adidas.nl",
// ... abridged (the full file lists 50+ regional domains)
]
}
Önemli bir nokta olarak, adidas, Digital Asset Links'i kullanarak Android mobil uygulamalarında sorunsuz geçiş anahtarı desteği de sağladı. Uygulamalar kimlik doğrulama için idp.adidas.com adresinde barındırılan bir WebView kullandığından, Android uygulaması ile Relying Party kimliği (adidas.com) arasında güvenilir bir ilişki oluşturmak için Digital Asset Links gerekiyordu. Bu doğrulama, uygulamanın web'de kullanılan geçiş anahtarlarına erişmesine olanak tanıyarak platformlar arasında sorunsuz ve birleşik bir oturum açma deneyimi oluşturur.
adidas, bu amaçla ilgili web alanlarında bir Digital Asset Links (assetlinks.json) dosyası barındırır. Bu dosya, Android uygulamalarıyla olan kriptografik ilişkiyi herkese açık olarak beyan eder. Benzer şekilde, adidas da iOS ekosistemini desteklemek için ilişkili alanları kullanıyor.
apple-app-site-association dosyası barındırarak güvenli bir bağlantı oluştururlar. Bu bağlantı, iOS uygulamalarının web görünümünde geçiş anahtarlarını güvenli bir şekilde kullanmasına olanak tanır.
// https://www.adidas.fi/.well-known/assetlinks.json
[
{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.adidas.app",
"sha256_cert_fingerprints": [
"B2:55:43:78:89:F6:F6:FD:BB:16:5C:43:EE:66:14:18:D4:E8:33:6D:3A:1F:68:86:C3:A8:7C:89:2B:51:45:96",
"..."
]
}
},
// ... abridged
]
adidas'ı gelecekte neler bekliyor?
adidas.fi ve adidas.nl'de otomatik yükseltmeler ve senkronize edilmiş kimlik bilgilerinden oluşan sağlam bir temel sayesinde adidas, bu kolay kurulumu Nisan 2026'nın sonuna kadar diğer tüm küresel pazarlarda kullanıma sunacak. Ayrıca adidas, anında uyumlulaştırma kaynağı denemesini test ederek daha da sorunsuz oturum açma deneyimleri sunmayı planlıyor. Gelecekteki planlar arasında kullanıcıların doğrudan geçiş anahtarlarıyla hesap oluşturmasına izin vermek de yer alıyor. Bu değişiklik, önce alternatif bir yöntemle kaydolma zorunluluğunu ortadan kaldırır. Ekip, oturum açma işleminin ikinci adımında sistem geçiş anahtarı iletişim kutusunu doğrudan çağırmak için "akıllı tetikleme" özelliğini de araştırıyor. Kullanıcının mevcut cihazında geçiş anahtarı bulunduğundan emin olunduğu durumlarda ek bir tıklama yapılmasına gerek kalmaz.
Bu sizin için neden önemli?
Parolasız kimlik doğrulamaya geçiş, kullanıcı deneyimi sorunsuz kaldığında başarılı olur. Koşullu oluşturma özelliğini uygulayarak kullanıcıları alışkanlıklarını bozmadan şifrelerden kolayca taşıyabilirsiniz. İlgili Kaynak İstekleri'ni kullanarak bu geçiş anahtarlarını alanlarınızda paylaşabilir ve kullanıcıların tek bir geçiş anahtarıyla tüm ekosisteminize sorunsuz bir şekilde erişmesini sağlayabilirsiniz. Son olarak, bu API'yi Signal API ile eşleştirmek, birleştirilmiş ve şifresiz deneyiminizin güvenilir ve hatasız kalmasını sağlar.