Cover

June 25, 2025

Passkeys vs Passwords – Which Is the Better Authentication Choice?

Explore the differences between passkeys and passwords in modern authentication. Learn why passkeys are more secure, user-friendly, and built for the future of login systems.

author
By Joel CoutinhoSoftware Developer at SuperTokens

Passwords have been obsolete for some time now. They are insecure, susceptible to a number of attack vectors and are honestly a pain to remember. The more astute amongst you have already moved to more secure methods like using a password manager or passwordless authentication using multiple factors but, they can be more cumbersome and require additional steps. Waiting for OTPs can take time and the delivery service can be prone to failure, setting up and managing an authenticator app is cumbersome and dealing with multiple factors is always tedious. Passkeys is a modern alternative that aim to solve a number of the issues associated with traditional and more advanced authentication methods. Let’s break it down.

What Are Passkeys?

Passkeys are cryptographic credentials built on FIDO2/WebAuthn standards. Unlike passwords, they do not depend on a user’s memory. Instead, they use a device-bound private-public key pair for authentication. Users typically unlock their credentials using biometrics (like a fingerprint or facial recognition) or a device PIN.

Key Technical Difference

Passwords are knowledge-based—users must know something (their password) to log in. Passkeys eliminate this knowledge factor. Instead, they are possession-based, stored securely on the user’s device and validated using a cryptographic challenge-response model.

Security Comparison – Passkeys vs Passwords

Password Vulnerabilities

  • Phishing: Users can be tricked into entering passwords on fake sites.
  • Credential Stuffing: Reusing passwords across services leads to chain-compromises.
  • Brute-force Attacks: Weak or short passwords are easily cracked.
  • Database Leaks: Even with hashing, stored passwords can be compromised.

Passkey Strengths

  • Phishing Resistant: Passkeys are bound to the origin, so they can’t be reused on fraudulent websites.
  • No Reuse: Each passkey is unique to the service.
  • Asymmetric Cryptography: Only the public key is stored on the server, while the private key never leaves the user’s device.
  • No Shared Secrets: There’s nothing for attackers to steal in a breach.

Data Breach Resilience

If a database storing passkey public keys is breached, attackers gain nothing usable. In contrast, even hashed password leaks can eventually be exploited.

Usability and User Experience

Passwords UX

  • Must be created, remembered, and frequently updated.
  • Forgotten passwords lead to recovery flows that frustrate users.
  • Complex rules (e.g., symbols, numbers) degrade user experience.

Passkeys UX

  • Authenticate using biometrics or a simple device PIN.
  • No passwords to remember or reset.
  • Faster and more intuitive login flows.

Cross-Device Sync

Thanks to ecosystems like:

  • Apple iCloud Keychain
  • Google Password Manager

Passkeys can sync across user devices securely, making cross-platform login seamless.

Implementation Complexity

Password Setup

  • Easy to implement.
  • Requires secure storage (hashing with salt).
  • Must monitor for breaches and enforce strong policies.

Passkey Setup

  • Requires WebAuthn support from browsers and devices.
  • Implementation requires understanding FIDO2 standards.
  • Must handle fallback for unsupported clients.

Developer Considerations

  • Leverage SDKs like SimpleWebAuthn, or built-in browser APIs.
  • Requires initial user education and UX tuning.
  • Need to support multiple authenticators (e.g., platform vs cross-platform).

Implementing Passkeys in your application (With SuperTokens!)

Setup SuperTokens in your application

You will first need to set up SuperTokens in your web application.

  1. Create a SuperTokens Account SuperTokens Core service initialization
  2. Integrate SuperTokens into your Frontend and Backend stack using the SuperTokens SDKs. Alternatively, if you are starting from scratch you can use SuperTokens CLI tool to test it out! This is what we will be doing

npx create-supertokens-app@latest

Initialize the WebAuthn recipes

Once you setup SuperTokens in your application you will need to initialize the WebAuthn recipes in both the frontend and backend SuperTokens configurations.

Note: The following example configs were created by the SuperTokens CLI wizard with NextJs as the stack.

Backend configuration

export let backendConfig = (): TypeInput => {
    return {
        supertokens: { 
            // this is the location of the SuperTokens core, try.supertokens.com is a demo core
            connectionURI: "http://try.supertokens.com",
        },
        appInfo,
        // recipeList contains all the modules that you want to
        // use from SuperTokens. See the full list here: https://supertokens.com/docs/guides
        recipeList: [EmailPasswordNode.init(), SessionNode.init(), Dashboard.init(), UserRoles.init(), WebAuthN.init()],
        isInServerlessEnv: true,
        framework: "custom",
    };
};

Frontend configuration

export const frontendConfig = (): SuperTokensConfig => {
    return {
        appInfo,
        recipeList: [EmailPasswordReact.init(), WebAuthn.init(), Session.init()],
        windowHandler: (orig) => {
            return {
                ...orig,
                location: {
                    ...orig.location,
                    getPathName: () => routerInfo.pathName!,
                    assign: (url) => routerInfo.router!.push(url.toString()),
                    setHref: (url) => routerInfo.router!.push(url.toString()),
                },
            };
        },
    };
};

Test the setup

  • You can now run your the application and you should now have passwordless setup in your login experience! It’s as easy as that!

passkey setup

  • Click the “Continue with passkey” prompt, the following pop-up should appear

passkey prompt

  • Approve the passkey in your hardware device

passkey approval

  • Congratulations you are logged in!

passkey success

What does SuperTokens enable?

WebAuthn Support

SuperTokens includes WebAuthn-based passwordless login, offering full support for passkey-style authentication.

Flexible Authentication Flows

Want to support users with passwords, OTP, and passkeys in one app? SuperTokens enables hybrid login models with configurable flows.

Security-First Architecture

SuperTokens is open-source and built with security and developer control in mind. You can enforce domain-bound credentials and handle fallback logic without black-box limitations.

When Should You Choose Passkeys Over Passwords?

High-Security Apps

Applications that handle:

  • Financial data (e.g., banking)
  • Healthcare records
  • Enterprise infrastructure

Can benefit significantly from the phishing resistance and strong assurance offered by passkeys, since the fallout from a comprimised account can be catastrophic.

Scalability

Passkeys remove the burden of forgotten password flows and reduce support overhead—making it easier to scale user authentication.

User Retention

A smoother login experience reduces drop-off during sign-in and account creation, especially on mobile.

Challenges of Switching to Passkeys

Device Limitations

Not all devices or browsers fully support WebAuthn. Older smartphones or niche browsers may lack compatibility.

User Familiarity

Users may not understand what a passkey is. Onboarding flows and education are critical for adoption.

Fallback Systems

You still need to offer:

  • Email-based magic links
  • OTPs via SMS/email
  • Social login or recovery flows

These ensure users aren’t locked out if their device is lost.

The Future of Authentication – Are Passwords Dead?

  • Apple, Google, and Microsoft have committed to passkeys as the future of authentication.
  • Passkeys are now supported across major platforms and browsers.

Open Standards

  • FIDO Alliance and WebAuthn are becoming global standards.
  • Regulatory and compliance landscapes are also evolving to favor phishing-resistant methods.

Legacy Systems

Despite their weaknesses, passwords may stick around in hybrid systems or legacy environments for a while. The transition is happening—but it’s gradual.


Final Thoughts

Passwords have served us well—but their time is coming to an end. Passkeys offer a safer, simpler, and more modern approach to authentication. While challenges remain in adoption, the long-term benefits in security and user experience are hard to ignore.

If you’re building an app today, consider building with passkeys at the core—or at the very least, give your users the choice. Platforms like SuperTokens can help you get there faster and safer.

Software dev and content lead at SuperTokens. Contributed to the SuperTokens core, backend SDKs, and developer documentation.