Gepubliceerd: 12 mei 2026
De 'Immediate UI mode' voor aanmeldingen is een webfunctionaliteit die is ontworpen om aanmeldingsprocessen te stroomlijnen. Met deze functie kunt u proactief toegangscodes en beheerde wachtwoorden rechtstreeks aan uw gebruikers aanbieden wanneer ze zich moeten aanmelden, bijvoorbeeld door op een 'Aanmelden' of 'Afrekenen' -knop te klikken.
Abstract
De modus 'Immediate UI' biedt een modus die direct een foutmelding geeft als er geen inloggegevens lokaal beschikbaar zijn. Dit gedrag is vergelijkbaar met preferImmediatelyAvailableCredentials API's die te vinden zijn op mobiele platforms zoals Android en iOS. Wanneer er inloggegevens aanwezig zijn, toont de browser direct een inlogdialoogvenster aan de gebruiker. Anders wordt de belofte stilzwijgend afgewezen, waardoor u alternatieve inlogmethoden kunt aanbieden, bijvoorbeeld een inlogformulier, zonder de gebruikerservaring te verstoren.
Vanaf mei 2026 is Chrome de enige browser die de directe gebruikersinterfacemodus ondersteunt.
Controleer de vereisten
Om de directe gebruikersinterface te gebruiken, moet de gebruiker al over de juiste inloggegevens beschikken die lokaal op het apparaat beschikbaar zijn. In Chrome zijn dit onder andere de volgende inloggegevens:
- Wachtwoorden die zijn opgeslagen bij een wachtwoordprovider zoals Google Password Manager , Windows Hello of iCloud Keychain .
- Wachtwoorden opgeslagen in Google Password Manager.
Als er geen lokale inloggegevens beschikbaar zijn, wijst de API het verzoek af zonder het inlogvenster weer te geven.
Detecteer functieondersteuning
Voordat u de directe UI-modus oproept, controleert u of de browser de immediateGet functionaliteit ondersteunt met behulp van de ` PublicKeyCredential.getClientCapabilities() -methode. Als dit niet het geval is, gebruikt u bestaande aanmeldmethoden, zoals e-mail- en wachtwoordformulieren, telefoonnummerverificatie of inloggen via sociale media.
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);
}
}
Voor bredere browserondersteuning kunt u de polyfill gebruiken die beschikbaar is in de WebAuthn Polyfills GitHub-repository .
Inloggegevens aanvragen
Om de directe inlogprocedure te starten, roep je navigator.credentials.get() aan met het veld uiMode ingesteld op 'immediate' .
Door password: true in je verzoek op te nemen, kunnen gebruikers van deze functionaliteit profiteren als de browser wachtwoordreferenties ondersteunt.
// 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();
}
}
});
Je moet de NotAllowedError afhandelen in een catch blok om een alternatieve aanmeldprocedure te bieden.
Beheer aanmeldingsprocessen
Je kunt de directe UI-modus implementeren voor twee belangrijke scenario's.
Aanmelden met een knop
Zorg voor een speciale aanmeldknop die een prettige gebruikerservaring biedt zonder onverwachte meldingen.
- De gebruiker klikt op een 'Inloggen'- knop.
- Uw site roept
navigator.credentials.get()aan metuiMode: "immediate". - De browser controleert op lokale inloggegevens.
- Als de browser inloggegevens vindt, verschijnt er direct een inlogvenster waarin de gebruiker een account kan selecteren.
- Als de browser geen inloggegevens vindt of als de gebruiker het inlogvenster sluit, wordt een
NotAllowedErrorgegenereerd. - Als er een
NotAllowedErrorwordt gegenereerd, gaat uw site verder met de standaard aanmeldpagina.
Meld u aan voordat u afrekent.
Bied inloggegevens proactief aan voordat een gebruiker een actie uitvoert waarbij authenticatie nuttig is, zoals het starten van een afrekenproces in een webwinkel.
In de e-commerce kiezen gastgebruikers vaak tussen inloggen op een bestaand account of afrekenen als gast. Een direct inlogvenster kan het afrekenproces voor terugkerende klanten stroomlijnen.
- De gebruiker initieert een actie, zoals het klikken op een 'Afrekenen'- knop tijdens het winkelproces.
- Uw site roept
navigator.credentials.get()aan metuiMode: "immediate". - Als er inloggegevens beschikbaar zijn, selecteert de gebruiker er één om de aanmelding te voltooien.
- Als er geen inloggegevens aanwezig zijn, geeft de browser een foutmelding en wordt er geen inlogvenster weergegeven. De gebruikerservaring blijft ongewijzigd en u kunt de gebruiker doorverwijzen naar het bestaande afrekenscherm, waar mogelijk andere inlogopties of een gastformulier beschikbaar zijn.
Evalueer de privacy- en beveiligingsmaatregelen.
De browser implementeert essentiële maatregelen om de privacy van gebruikers te beschermen:
- Vereiste gebruikersactie : U moet de API-aanroep initiëren met een gebruikersactie, zoals een klik, om stille controles te voorkomen. De aanroep verbruikt de activering niet.
- Beperkingen in de incognitomodus : Verzoeken in incognito- of privésessies geven altijd een
NotAllowedError. - Geen whitelists : Verzoeken met een niet-lege
allowCredentials-lijst genereren eenNotAllowedErrorom het volgen van gebruikers tussen sessies te voorkomen. - Geen programmatische annulering : U kunt de parameter
signalniet gebruiken om het directe inlogdialoogvenster programmatisch te sluiten.