Yayınlanma tarihi: 12 Mayıs 2026
Girişler için anında kullanıcı arayüzü modu, oturum açma akışlarını kolaylaştırmak üzere tasarlanmış bir web özelliğidir. Bu özellik, kullanıcılarınız oturum açma anına ulaştığında (ör. Oturum Aç veya Ödeme düğmesini tıkladığında) doğrudan onlara geçiş anahtarları ve yönetilen şifreler sunmanıza olanak tanır.
Soyut
Anında kullanıcı arayüzü modu, kimlik bilgileri yerel olarak mevcut değilse hemen başarısız olan bir mod sağlar. Bu davranış, Android ve iOS gibi mobil platformlarda bulunan preferImmediatelyAvailableCredentials
API'lerle aynıdır. Kimlik bilgileri varsa tarayıcı, kullanıcıya anında giriş iletişim kutusu gösterir. Aksi takdirde, söz sessizce reddedilir ve kullanıcı deneyimini kesintiye uğratmadan alternatif oturum açma yöntemleri (ör. oturum açma formu) sunmanıza olanak tanınır.
Mayıs 2026 itibarıyla Chrome, anında kullanıcı arayüzü modunu destekleyen tek tarayıcıdır.
Ön koşulları kontrol etme
Anında kullanıcı arayüzü modunu kullanmak için kullanıcının cihazında uygun kimlik bilgilerinin yerel olarak bulunması gerekir. Chrome'da bu kimlik bilgileri şunları içerir:
- Google Şifre Yöneticisi, Windows Hello veya iCloud Anahtar Zinciri gibi bir geçiş anahtarı sağlayıcıya kaydedilen geçiş anahtarları.
- Google Şifre Yöneticisi'ne kaydedilen şifreler
Yerel kimlik bilgileri yoksa API, anında giriş iletişim kutusunu göstermeden isteği reddeder.
Özellik desteğini algılama
Anlık kullanıcı arayüzü modunu çağırmadan önce, tarayıcının immediateGet capability nesnesini destekleyip desteklemediğini PublicKeyCredential.getClientCapabilities() yöntemini kullanarak doğrulayın. Desteklenmiyorsa e-posta ve şifre formları, telefon numarası doğrulama veya sosyal medya hesaplarıyla giriş gibi mevcut oturum açma yöntemlerine geri dönün.
async function checkImmediateAvailability() {
try {
const capabilities = await PublicKeyCredential.getClientCapabilities();
if (capabilities.immediateGet) {
console.log("Immediate UI mode is supported.");
} else {
console.log("Immediate UI mode is NOT supported.");
}
} catch (error) {
console.error("Error checking client capabilities:", error);
}
}
Daha geniş tarayıcı desteği için WebAuthn Polyfills GitHub deposunda bulunan polyfill'i kullanın.
Kimlik bilgisi isteğinde bulunma
Anında giriş akışını tetiklemek için navigator.credentials.get() alanını 'immediate' olarak ayarlayıp uiMode işlevini çağırın.
İsteğinize password: true ekleyerek, tarayıcı şifre kimlik bilgilerini destekliyorsa kullanıcıların bu deneyimden yararlanmasını sağlayabilirsiniz.
// This call must follow a user gesture, like a button click
button.addEventListener('click', async (event) => {
event.preventDefault();
try {
const cred = await navigator.credentials.get({
password: true,
publicKey: {
challenge: serverGeneratedChallenge,
rpId: 'example.com'
},
uiMode: 'immediate',
});
// Handle successful sign-in
} catch (error) {
if (error.name === 'NotAllowedError') {
// Provide a fallback sign-in experience
showFallbackUI();
}
}
});
Yedek oturum açma deneyimi sağlamak için NotAllowedError değerini bir catch bloğunda işlemeniz gerekir.
Oturum açma akışlarını yönetme
Anında kullanıcı arayüzü modunu iki temel senaryoda uygulayabilirsiniz. Daha fazla kullanıcı deneyimi rehberliği ve kaçınılması gereken anti-pattern'ler için Anında kullanıcı arayüzü modu için kullanıcı deneyimi kalıpları başlıklı makaleyi inceleyin.
Düğmeyle oturum açma
Beklenmedik istemler olmadan temiz bir deneyim sunan özel bir oturum açma düğmesi sağlayın.
- Kullanıcı bir Oturum aç düğmesini tıklar.
- Siteniz,
uiMode: "immediate"ilenavigator.credentials.get()'yı çağırıyor. - Tarayıcı, yerel kimlik bilgilerini kontrol eder.
- Tarayıcı kimlik bilgileri bulursa kullanıcının hesap seçmesi için anında bir giriş iletişim kutusu gösterir.
- Tarayıcı kimlik bilgisi bulamazsa veya kullanıcı anında oturum açma iletişim kutusunu kapatırsa
NotAllowedErrorhatası verilir. NotAllowedErroristisnası oluşursa siteniz standart giriş sayfasıyla devam eder.
Ödeme işleminden önce oturum açma
Kullanıcı, kimlik doğrulama işleminden yararlanacağı bir işlem (ör. online mağazada ödeme adımları başlatma) yapmadan önce kimlik bilgilerini proaktif olarak sunun.
E-ticarette misafir kullanıcılar genellikle mevcut bir hesaba giriş yapma veya misafir olarak ödeme yapma seçeneklerinden birini belirler. Anında giriş iletişim kutusu sunmak, geri gelen müşteriler için ödeme sürecini kolaylaştırabilir.
- Kullanıcı, alışveriş akışı sırasında Ödeme düğmesini tıklama gibi bir işlem başlatır.
- Siteniz,
uiMode: "immediate"ilenavigator.credentials.get()'yı çağırıyor. - Kimlik bilgileri varsa kullanıcı, oturum açma işlemini tamamlamak için birini seçer.
- Kimlik bilgileri yoksa tarayıcı hata verir ve anında giriş iletişim kutusu göstermez. Kullanıcı deneyimi değişmez ve kullanıcıyı mevcut ödeme ekranına yönlendirebilirsiniz. Bu ekranda başka oturum açma seçenekleri veya misafir ödeme formu sunulabilir.
Gizlilik ve güvenlik önlemlerini inceleme
Tarayıcı, kullanıcı gizliliğini korumak için önemli önlemler uygular:
- Kullanıcı hareketi şartı: Sessiz yoklamayı önlemek için API çağrısını bir kullanıcı hareketiyle (ör. tıklama) başlatmanız gerekir. Çağrı, etkinleştirmeyi kullanmaz.
- Gizli mod kısıtlamaları: Gizli veya özel oturumlardaki istekler her zaman
NotAllowedErrorhatası verir. - İzin verilenler listesi yok: Boş olmayan bir
allowCredentialslistesi içeren istekler, oturumlar arası izlemeyi önlemek içinNotAllowedErroroluşturur. - Programatik iptal yok: Anında giriş iletişim kutusunu programatik olarak kapatmak için
signalparametresini kullanamazsınız.