Geçiş anahtarlarını hizmetinize nasıl entegre edebileceğinizi öğrenin.
Geçiş anahtarı sisteminin anatomisi
Geçiş anahtarı sistemi birkaç bileşenden oluşur:
- Güvenen taraf: Geçiş anahtarı bağlamında, güvenen taraf (kısaca RP), geçiş anahtarı verme ve kimlik doğrulama işlemlerini gerçekleştirir. RP, geçiş anahtarları oluşturan veya geçiş anahtarlarıyla kimlik doğrulayan bir web sitesi ya da uygulama olan bir istemci ve istemcideki geçiş anahtarları tarafından oluşturulan kimlik bilgilerini kaydetmek, depolamak ve doğrulamak için bir sunucu işletmelidir. Geçiş anahtarı mobil uygulaması, Digital Asset Links gibi işletim sistemi tarafından sağlanan ilişkilendirme mekanizması kullanılarak bir RP sunucu alanına bağlanmalıdır.
- Authenticator: İşletim sistemi tarafından sunulan ekran kilidi özelliğini kullanarak geçiş anahtarları oluşturup doğrulayabilen bir bilgi işlem cihazı (ör. cep telefonu, tablet, dizüstü bilgisayar veya masaüstü bilgisayar).
- Şifre yöneticisi: Son kullanıcının cihazlarına yüklenen ve geçiş anahtarlarını sunan, depolayan ve senkronize eden yazılımlar(ör. Google Şifre Yöneticisi).
Kayıt akışı
Yeni bir geçiş anahtarı oluşturup kaydetmek için bir web sitesinde WebAuthn API'yi veya bir Android uygulamasında Credential Manager kitaplığını kullanın.
Yeni bir geçiş anahtarı oluşturmak için birkaç temel bileşen sağlamanız gerekir:
- RP kimliği: Güvenen tarafın kimliğini web alanı biçiminde sağlayın.
- Kullanıcı bilgileri: Kullanıcının kimliği, kullanıcı adı ve görünen adı.
- Hariç tutulacak kimlik bilgileri: Yinelenen kayıtları önlemek için daha önce saklanan geçiş anahtarlarıyla ilgili bilgiler.
- Geçiş anahtarı türleri: Kimlik doğrulayıcı olarak cihazın kendisinin ("platform kimlik doğrulayıcısı") mi yoksa çıkarılabilir bir güvenlik anahtarının ("platformlar arası / dolaşım kimlik doğrulayıcısı") mı kullanılacağı. Ayrıca, arayanlar kimlik bilgisinin bulunabilir olup olmayacağını belirleyebilir. Böylece kullanıcı, oturum açmak için bir hesap seçebilir.
Bir RP, geçiş anahtarı oluşturulmasını istediğinde ve kullanıcı bunu ekran kilidiyle doğruladığında yeni bir geçiş anahtarı oluşturulur ve herkese açık anahtar kimlik bilgisi döndürülür. Bunu sunucuya gönderin ve kimlik bilgilerini gelecekteki kimlik doğrulama için kimlik bilgisi kimliği ve ortak anahtarla birlikte saklayın.
Geçiş anahtarı oluşturma ve kaydetme hakkında ayrıntılı bilgi edinin:
- Web'de: Parolasız giriş için geçiş anahtarı oluşturma
- Android'de: Credential Manager API'yi kullanarak geçiş anahtarlarıyla uygulamalarınıza sorunsuz kimlik doğrulama getirme
Kimlik doğrulama akışı
Kayıtlı bir geçiş anahtarıyla kimlik doğrulamak için web sitesinde WebAuthn API'yi veya Android uygulamasında Credential Manager kitaplığını kullanın.
Geçiş anahtarıyla kimlik doğrulamak için sağlanması gereken birkaç temel bileşen vardır:
- RP kimliği: Güvenen tarafın kimliğini web alanı biçiminde sağlayın.
- Zorluk: Tekrar saldırılarını önleyen, sunucu tarafından oluşturulan bir zorluk.
Bir RP, geçiş anahtarıyla kimlik doğrulama isteğinde bulunduktan ve kullanıcı bunu ekran kilidini açarak doğruladıktan sonra ortak anahtar kimlik bilgisi döndürülür. Bunu sunucuya gönderin ve imzayı depolanan ortak anahtarla doğrulayın.
Geçiş anahtarıyla kimlik doğrulama hakkında ayrıntılı bilgi edinin:
- Web'de: Formu otomatik doldurma özelliğiyle geçiş anahtarıyla oturum açma
- Android'de: Credential Manager API'yi kullanarak geçiş anahtarlarıyla uygulamalarınıza sorunsuz kimlik doğrulama getirme
Sunucu tarafı entegrasyonları
Geçiş anahtarı oluşturulduktan sonra sunucunun, sorgu, kullanıcı bilgileri, hariç tutulacak kimlik bilgisi kimlikleri gibi anahtar parametreleri sağlaması gerekir. Ardından, istemciden gönderilen oluşturulmuş ortak anahtar kimlik bilgisini doğrular ve ortak anahtarı veritabanında depolar. Geçiş anahtarıyla kimlik doğrulama için sunucunun, kullanıcının oturum açmasına izin vermek üzere kimlik bilgisini dikkatli bir şekilde doğrulaması ve imzayı onaylaması gerekir.
Sunucu tarafı kılavuzlarımızdan daha fazla bilgi edinin:
- Sunucu tarafı geçiş anahtarı uygulamasına giriş
- Sunucu tarafında geçiş anahtarı kaydı
- Sunucu tarafı geçiş anahtarı kimlik doğrulaması
Mevcut (eski) kimlik doğrulama mekanizmaları
Mevcut hizmetinizde geçiş anahtarlarını desteklediğinizde, şifreler gibi eski kimlik doğrulama mekanizmasından geçiş anahtarlarına geçiş bir günde gerçekleşmez. Zayıf kimlik doğrulama yöntemini mümkün olan en kısa sürede ortadan kaldırmak isteyeceğinizi biliyoruz ancak bu durum, kullanıcılarda kafa karışıklığına neden olabilir veya bazı kullanıcıları geride bırakabilir. Şimdilik mevcut kimlik doğrulama yöntemini kullanmaya devam etmenizi öneririz.
Bunun birkaç nedeni vardır:
- Geçiş anahtarıyla uyumlu olmayan bir ortamda kullanıcılar var: Geçiş anahtarı desteği, birden fazla işletim sistemi ve tarayıcıda yaygınlaşıyor ancak eski sürümleri kullananlar henüz geçiş anahtarlarını kullanamıyor.
- Geçiş anahtarı ekosistemi henüz olgunlaşmadı: Geçiş anahtarı ekosistemi gelişiyor. Farklı ortamlar arasındaki kullanıcı deneyimi ayrıntıları ve teknik uyumluluk iyileştirilebilir.
- Kullanıcılar henüz geçiş anahtarıyla yaşamaya hazır olmayabilir: Yeni şeyleri denemekten çekinen kullanıcılar vardır. Geçiş anahtarı ekosistemi olgunlaştıkça geçiş anahtarlarının nasıl çalıştığını ve neden faydalı olduğunu anlayacaklar.
Mevcut kimlik doğrulama mekanizmanızı yeniden gözden geçirin
Geçiş anahtarları, kimlik doğrulama işleminizi daha basit ve güvenli hale getirirken eski mekanizmaları kullanmaya devam etmek bir boşluk bırakmaya benzer. Mevcut kimlik doğrulama mekanizmalarınızı yeniden gözden geçirip iyileştirmenizi öneririz.
Şifreler
Güçlü şifreler oluşturmak ve bunları her web sitesi için yönetmek kullanıcılar açısından zorlu bir görevdir. Sisteme yerleştirilmiş bir şifre yöneticisi veya bağımsız bir şifre yöneticisi kullanmanız önemle tavsiye edilir. Web siteleri ve uygulamalar, oturum açma formunda küçük bir değişiklik yaparak güvenlik ve oturum açma deneyimi açısından büyük bir fark yaratabilir. Bu değişiklikleri nasıl yapabileceğinizi öğrenin:
- Oturum açma formuyla ilgili en iyi uygulamalar (Web)
- Kayıt formuyla ilgili en iyi uygulamalar (Web)
- Kullanıcınızın Kimlik Bilgisi Yöneticisi ile oturum açmasını sağlama (Android)
İki faktörlü kimlik doğrulama
Şifre yöneticisi kullanmak, kullanıcıların şifreleri yönetmesine yardımcı olsa da tüm kullanıcılar bu araçları kullanmaz. Bu tür kullanıcıları korumak için tek kullanımlık şifre (OTP) adı verilen ek bir kimlik bilgisi istenmesi yaygın bir uygulamadır. Tek kullanımlık şifreler genellikle e-posta, SMS mesajı veya Google Authenticator gibi bir kimlik doğrulama uygulaması aracılığıyla sağlanır. OTP'ler genellikle yalnızca sınırlı bir süre için geçerli olan, dinamik olarak oluşturulmuş kısa metinler olduğundan hesap ele geçirme olasılığını azaltır. Bu yöntemler, geçiş anahtarı kadar güçlü olmasa da kullanıcıları yalnızca şifreyle bırakmaktan çok daha iyidir.
OTP'yi iletme yöntemi olarak SMS'i seçerseniz kullanıcı deneyimini kolaylaştırmak için aşağıdaki en iyi uygulamalara göz atın.
- SMS OTP formuyla ilgili en iyi uygulamalar (Web)
- SMS Retriever API ile otomatik SMS doğrulaması (Android)
Kimlik federasyonu
Kimlik federasyonu, kullanıcıların güvenli ve kolay bir şekilde oturum açmasına olanak tanıyan başka bir seçenektir. Kimlik birleştirme sayesinde web siteleri ve uygulamalar, kullanıcıların üçüncü taraf kimlik sağlayıcıdan alınan kimliklerini kullanarak oturum açmasına olanak tanıyabilir. Örneğin, Google ile oturum açma, geliştiriciler için mükemmel dönüşümler sağlar ve kullanıcılar, şifre tabanlı kimlik doğrulamaya kıyasla bu yöntemi daha kolay ve tercih edilebilir bulur. Kimlik federasyonu, geçiş anahtarlarını tamamlayıcı bir özelliktir. Web sitesi veya uygulama, tek bir adımda kullanıcının temel profil bilgilerini edinebildiği için kayıt işlemi için idealdir. Geçiş anahtarları ise yeniden kimlik doğrulama sürecini kolaylaştırmak için mükemmeldir.
Chrome'un 2024'te üçüncü taraf çerezlerini kullanımdan kaldırmasının ardından, bazı kimlik federasyonu sistemlerinin nasıl oluşturulduklarına bağlı olarak etkilenebileceğini unutmayın. Bu etkinin azaltılması için Federated Credential Management API (kısaca FedCM) adlı yeni bir tarayıcı API'si geliştiriliyor. Bir kimlik sağlayıcı işletiyorsanız ayrıntıları inceleyin ve FedCM'yi kullanmanız gerekip gerekmediğini öğrenin.
- Federated Credential Management API (Web, FedCM)
- Web için Google ile Oturum Açma'ya genel bakış (Web, Google ile Oturum Açma)
- Android'de One Tap ile oturum açmaya genel bakış (Android, One Tap ile oturum açma)
"Sihirli Bağlantılar"
Sihirli bağlantı ile oturum açma, bir hizmetin e-posta üzerinden oturum açma bağlantısı gönderdiği bir kimlik doğrulama yöntemidir. Kullanıcılar, kimliklerini doğrulamak için bu bağlantıyı tıklayabilir. Bu özellik, kullanıcıların şifre hatırlamadan oturum açmasına yardımcı olsa da tarayıcı/uygulama ile e-posta istemcisi arasında geçiş yapmak zor olabilir. Ayrıca, kimlik doğrulama mekanizması e-postaya dayandığından e-posta sağlayıcının zayıf güvenliği, kullanıcı hesaplarını riske atabilir.
Eğitici kaynaklar
Web
Geçiş anahtarlarını web sitenize entegre etmek için Web Authentication API (WebAuthn)'yi kullanın. Daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın:
- Şifresiz giriş için geçiş anahtarı oluşturma: Kullanıcıların bir web sitesi için geçiş anahtarı oluşturmasına nasıl izin verileceğini açıklayan makale.
- Formu otomatik doldurma özelliğiyle geçiş anahtarıyla oturum açma: Geçiş anahtarlarıyla şifresiz oturum açma özelliğinin, mevcut şifre kullanıcılarını da kapsayacak şekilde nasıl tasarlanması gerektiğini açıklayan bir makale.
- Web uygulamasında form otomatik doldurma ile geçiş anahtarlarını uygulama: Daha basit ve güvenli bir oturum açma deneyimi oluşturmak için web uygulamasında form otomatik doldurma ile geçiş anahtarlarını nasıl uygulayacağınızı öğrenmenizi sağlayan bir codelab.
- Kullanıcıların geçiş anahtarlarını etkili bir şekilde yönetmesine yardımcı olma: Geçiş anahtarlarının potansiyelini tam olarak kullanabilmek için, kullanıcı deneyiminin yönetimiyle ilgili dikkatli bir şekilde düşünülmesi gerekir. Bu belgede, sezgisel, güvenli ve sağlam bir geçiş anahtarı yönetim sistemi tasarlamaya yönelik yönergeler ve isteğe bağlı özellikler ana hatlarıyla açıklanmaktadır.
- Güvenli ve sorunsuz geçiş anahtarları: Bir dağıtım yapılacaklar listesi: Bu yapılacaklar listesi, optimum kullanıcı deneyimi (UX) sonuçları elde etmek için geçiş anahtarlarını uygulamanın temel yönleri konusunda size rehberlik edecektir.
Android
Geçiş anahtarlarını Android uygulamanıza entegre etmek için Kimlik Bilgisi Yöneticisi kitaplığını kullanın. Daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın:
- Kullanıcınızın kimliğini Kimlik Bilgisi Yöneticisi ile doğrulama: Android'de Kimlik Bilgisi Yöneticisi'nin nasıl entegre edileceğini açıklayan bir makale. Credential Manager, kullanıcı adı ve şifre, geçiş anahtarları ve federasyon oturum açma çözümleri (ör. Google ile oturum açma) gibi birden fazla oturum açma yöntemini tek bir API'de destekleyen bir Jetpack API'sidir.
- Credential Manager API'yi kullanarak geçiş anahtarlarıyla uygulamalarınıza sorunsuz kimlik doğrulama ekleme: Android'de Credential Manager aracılığıyla geçiş anahtarlarının nasıl entegre edileceğini açıklayan bir makale.
- Android uygulamanızda Credential Manager API'yi kullanarak kimlik doğrulama yolculuklarını nasıl basitleştireceğinizi öğrenin: Geçiş anahtarları veya şifre kullanarak uygulamanızda sorunsuz ve güvenli kimlik doğrulama sağlamak için Credential Manager API'yi nasıl uygulayacağınızı öğrenin.
- Kimlik Bilgisi Yöneticisi Örnek Uygulaması: Geçiş anahtarlarını barındıran Kimlik Bilgisi Yöneticisi'ni çalıştıran örnek kod.
- Kimlik Bilgisi Yöneticisi'ni kimlik bilgisi sağlayıcı çözümünüzle entegre etme | Android Developers
kullanıcı deneyimi
Geçiş anahtarı kullanıcı deneyimi önerileri hakkında bilgi edinin: