WebAuthn and FIDO2 in Okta
How a tiny key on your keychain, or a fingerprint on your laptop, can end password phishing. A complete guide to the standards, the cryptography made simple, how Okta uses them, and how to roll them out without chaos.
It is a Tuesday afternoon. An employee at a mid-sized company receives a text message that looks urgent: “Your single sign-on session has expired. Sign in again to avoid losing access.” The link leads to a page that looks exactly like the company’s real Okta sign-in screen. The logo is right. The colors are right. Even the web address looks almost right. The employee types a username, a password, and then the six-digit code from an authenticator app. The page politely says “Verified” and sends them on their way.
Within seconds, a criminal on the other side of the world uses those same details on the real sign-in page, sails through the same checks, and walks into the company’s systems. The employee did nothing foolish by the standards of a busy day. The page was convincing. The code was correct. And the second factor, which was supposed to protect the account, was handed over like a coat at a coat check.
WebAuthn and FIDO2 were designed to make that story impossible. With them, the thing that proves who you are is not a secret you type. It is a cryptographic proof that your device creates on the spot, and that only works for the genuine website. A fake page can ask for it all day and receive nothing useful. This guide explains the idea from scratch: the vocabulary, the simple cryptography behind it, how Okta supports it, how to configure and roll it out, how to monitor it, and how to avoid the mistakes that trip up first-time adopters.
1What Are WebAuthn and FIDO2?
Two names that sound like alphabet soup, and one simple idea hiding underneath.
FIDO2 is a set of open standards that lets people sign in to websites and apps without relying on shared secrets such as passwords. It was created by the FIDO Alliance, an industry group that includes technology companies, banks, and security vendors. The name FIDO stands for Fast Identity Online. FIDO2 has two main parts that work together.
The first part is WebAuthn, short for Web Authentication. This is the rulebook that browsers and websites follow, published by the World Wide Web Consortium, usually shortened to W3C. WebAuthn defines how a website asks for a proof of identity and how the browser carries that request. The second part is CTAP, the Client to Authenticator Protocol. It defines how the browser talks to the small device or built-in component that actually creates the proof, such as a security key plugged into a USB port, or the fingerprint sensor inside a laptop.
In everyday speech, people use “WebAuthn” and “FIDO2” almost as synonyms, and Okta itself labels its feature “FIDO2 (WebAuthn).” You may also hear the word passkey. A passkey is the friendly consumer name for a FIDO credential that can sign you in without a password, and which in many products can be synced across your devices.
Think of a hotel. A password is like a room number and a secret phrase that you whisper to the front desk each time you want in. Anyone who overhears you can repeat it. A FIDO2 credential is like a key card that was coded for your room only. You never say anything out loud, and the card only opens the door of the hotel where it was issued. A key card from this hotel does nothing at a lookalike hotel across town.
And where does Okta fit?
Okta is an identity platform. It sits between your people and your applications, checking who they are before letting them in. In this picture, Okta plays the role of the website that asks for proof, which the standards call the relying party. Okta lets administrators add FIDO2 (WebAuthn) as an authenticator, which means users can register a security key, a built-in biometric authenticator, or a passkey, and then use it to prove their identity when they sign in. Administrators can go further and require this kind of proof for sensitive applications.
With WebAuthn and FIDO2, you prove who you are by letting a device sign a fresh challenge for the genuine website, instead of typing a secret that anyone could copy.
2The Problem: Passwords and Phishing
To appreciate the new tool, look closely at the old one and where it breaks.
Passwords have a design flaw that no amount of cleverness can fully fix. They are shared secrets. Both you and the website know the secret, and every time you sign in, you send it across the internet. That means the secret lives in at least three places: your memory, the website’s storage, and the network path between them. Attackers can go after any of those three.
Four common ways passwords fail
Phishing. An attacker builds a fake sign-in page and tricks you into typing your details into it. This is the story at the top of this guide. It works because humans judge pages by how they look, and attackers can copy looks perfectly.
Credential stuffing. People reuse passwords. When one website leaks its database, attackers try the leaked pairs on many other sites. Even strong passwords fail if they are reused.
Server breaches. If a website stores passwords poorly, a break-in exposes all of them at once. Even well-stored hashes can be cracked when the passwords are weak.
Interception. Malware on your computer, or a malicious browser extension, can record keystrokes as you type.
Second factors helped, but not enough
Multi-factor authentication added a second proof beyond the password, such as a text message code or an app code. This was a major improvement and blocks many attacks. But most second factors share the same weakness as passwords: they are something a human reads and types into a page. If the page is fake, the human types it into the fake page, and the attacker relays it to the real page in real time. This is called a real-time phishing proxy or adversary-in-the-middle attack. Security teams use the term phishing-resistant for methods that cannot be relayed in this way.
| Method | What the user hands over | Can a fake page capture it and reuse it? |
|---|---|---|
| Password alone | A typed secret | Yes |
| Text message code | A typed six-digit code | Yes, relayed in real time |
| Authenticator app code | A typed six-digit code | Yes, relayed in real time |
| Push approval | A tap on a prompt | Often yes, through fatigue or social engineering |
| FIDO2 or WebAuthn | A signature made for one specific website | No, a signature for a fake site is useless on the real one |
Imagine an actor who impersonates your bank teller. You hand over your account number and a one-time code from a slip of paper. The actor then runs to the real bank, repeats what you said, and withdraws your money. Now imagine that, instead, you must sign a note using a pen that only works inside the real bank building. Handing the note to the impostor gives them nothing, because the signature is only valid for that building. That is the leap FIDO2 makes.
This matters for Okta administrators because an identity provider is the front door to everything else. A stolen Okta session can open email, source code, finance tools, and customer data in a single stroke. Hardening that front door with phishing-resistant proof is one of the highest-value security upgrades an organization can make.
3A Short History: From Passwords to Passkeys
The path from clumsy one-off gadgets to a standard built into every phone and laptop.
Era of passwords
For decades, the secret you remembered was the only proof. Websites added complexity rules, and people responded by reusing the same password everywhere.
One-time codes and tokens
Companies issued key-fob tokens and later text messages and apps that displayed rotating codes. Better, but still typed codes that could be phished.
The FIDO Alliance and U2F
The alliance formed in the early 2010s. Its first widely used standard, Universal Second Factor or U2F, let a small USB key act as a second factor using public key cryptography and origin binding. It was simple and strong but limited to second-factor use.
FIDO2 arrives
WebAuthn became a W3C standard in 2019, paired with CTAP2. Browsers now spoke the language natively, and the same credential could support passwordless sign-in with built-in biometrics and PIN-protected keys.
Platform authenticators spread
Windows Hello, Apple Touch ID and Face ID, and Android biometric unlock became usable as FIDO2 authenticators. Suddenly hundreds of millions of devices were already capable.
Passkeys
Major platform makers added syncing, so a credential created on one device could be available on others in the same account ecosystem. This solved the “what if I lose my phone” worry for everyday users and brought FIDO credentials to the mainstream.
Why Okta cares
Okta’s customers include organizations of every size, from startups to large enterprises and government agencies. As phishing campaigns against identity systems grew more common and more skilled, security guidance from governments and industry groups increasingly named phishing-resistant authentication as the target state. Okta responded by supporting FIDO2 (WebAuthn) as an authenticator, and by adding policy controls that let administrators require phishing-resistant methods for chosen applications and groups. Over time the product has also extended its support toward passkey-style experiences. The exact feature set depends on which Okta engine and release your organization uses, so always confirm details in current documentation.
The history is similar to how payment cards improved. First came paper signatures that clerks barely checked. Then magnetic stripes that could be copied. Then chip cards that generate a one-time proof for each purchase. FIDO2 is the chip card of sign-in: each use produces a fresh proof that cannot be replayed.
Older Okta documentation and some orgs still mention U2F security keys. FIDO2 is the modern successor and is the right foundation for new projects.
4Core Concepts and Vocabulary
Ten terms carry the entire topic. Each is explained with what it is, why it exists, and where you will meet it.
Relying Party
The website or service that wants proof of identity. In this guide, it is Okta. The relying party is identified by a domain name, which becomes crucial for phishing resistance.
Authenticator
The thing that holds the secret key and makes the proof. It might be a USB security key, or a built-in part of a laptop or phone.
Credential
A pair of keys created for one user at one relying party. Okta keeps the public half. The authenticator keeps the private half.
Public and Private Key
Two mathematically linked keys. The private key signs and never leaves the authenticator. The public key checks the signature and can be shared freely.
Challenge
A fresh random value Okta sends for each attempt. The authenticator signs it, so an old recording of a past sign-in is useless.
Origin and RP ID
The web address the browser is truly visiting, and the domain identity that the credential is bound to. The browser, not the page, supplies it.
User Presence
Proof that a human is there, usually a touch on the key. It stops silent background use.
User Verification
Proof that the right human is there, using a PIN, fingerprint, or face scan on the authenticator. It is stronger than simple touch.
Attestation
An optional statement from the authenticator saying what make and model it is, so a service can decide which devices to trust.
Discoverable Credential
A credential the authenticator can find by itself without being told which account, enabling passwordless sign-in. Passkeys are discoverable credentials.
The two ceremonies
The standards use the word ceremony for the short, formal exchange between the user, the browser, the authenticator, and the website. There are exactly two. The registration ceremony happens once per authenticator, when you enroll it. The authentication ceremony happens each time you sign in. Both follow the same pattern: the website sends a challenge, the authenticator answers after the user approves, and the website checks the answer.
Roaming versus platform
A roaming authenticator is a separate device that you carry from computer to computer, such as a USB or NFC security key. A platform authenticator is built into the device you are already using, such as the fingerprint reader in a laptop. Roaming authenticators are portable and independent. Platform authenticators are convenient because nothing extra needs to be carried.
A roaming authenticator is like a house key on your keychain: you can take it anywhere and use it on any door that it fits. A platform authenticator is like a fingerprint lock fixed to your own front door: handy and always there, but only for that door.
5Public Key Cryptography Made Simple
Everything about FIDO2 rests on one clever trick. Once you understand it, the rest feels natural.
Public key cryptography, sometimes called asymmetric cryptography, uses a pair of keys that are linked by mathematics. The pair has a special property. Something signed with the private key can be checked using the matching public key, but the public key cannot be used to forge a signature, and cannot be turned back into the private key. You can hand your public key to the whole world and lose nothing.
The challenge and response dance
Suppose Okta wants to confirm you are really you. During enrollment, your authenticator created a key pair and gave Okta the public key. Now, at sign-in, Okta generates a random challenge, which is just a long unpredictable number, and sends it to your browser. Your authenticator signs that number with the private key. Okta uses the stored public key to check the signature. If it matches, only the holder of the private key could have produced it. At no point did the private key travel anywhere.
Enrollment, once
The authenticator makes a fresh key pair for this website. The public key goes to Okta. The private key stays locked inside the authenticator.
Sign-in begins
Okta creates a brand-new random challenge for this exact attempt.
Authenticator signs
After you approve with a touch, PIN, or biometric, the authenticator signs the challenge together with details about the website.
Okta verifies
Okta checks the signature against the stored public key and confirms the challenge and website details are the expected ones.
Why this beats a password
With a password, the website must store something that can be used to verify you, and you must send the actual secret every time. With public key cryptography, the website stores only a public key, which is worthless to a thief. If Okta’s database were stolen, the attacker would hold public keys that cannot sign anything. And because each challenge is new, a recorded sign-in cannot be replayed.
Picture a personal wax seal. You own a unique stamp that only you can press into wax. The bank keeps a sample impression of your seal so it can compare. To approve a request, the bank sends you a fresh note with a random number, you stamp it with your seal, and the bank compares your stamp to the sample. Having the sample impression does not let anyone make your seal. And a stamped note from yesterday is useless, because today’s note has a different number.
One key pair per site
A key detail is that the authenticator creates a separate key pair for every website. Your credential for Okta is not the same as your credential for any other service. This prevents one site from tracking you across others and means that a leak at one service has no effect on another. It is the cryptographic version of using a different lock for every door.
The security does not come from hiding the process. It comes from the fact that the one thing worth stealing, the private key, never leaves a protected device.
6Types of Authenticators You Can Use
Not all FIDO2 authenticators look alike. Each type has strengths, and choosing the right mix is a core design decision.
Hardware security keys
Small physical devices that connect by USB, NFC, or Bluetooth. They hold keys in tamper-resistant hardware. Popular makers include Yubico and Google, among others. They are the gold standard for high-risk accounts.
Built-in biometrics
Windows Hello, Apple Touch ID and Face ID, and Android fingerprint or face unlock. They ride along with the device and need no extra hardware.
Passkeys in a platform account
Credentials stored by a platform or password manager and synchronized across the person’s devices. They are convenient and recoverable, but their security depends on the account that syncs them.
Phone as authenticator
A nearby phone can act as the authenticator for a laptop, usually confirmed by a short-range wireless check. Handy for people without a key.
Device-bound versus synced
One of the most important distinctions today is whether a credential is device-bound or synced. A device-bound credential lives in one authenticator and cannot be copied out. If you lose that device, you lose the credential and must enroll another. A synced passkey is stored in a cloud-backed vault tied to an account, so it appears on your new phone when you sign in to the same account. Synced credentials trade a little theoretical strength for a big gain in convenience and recoverability.
| Type | Portable? | Recovery if lost | Strength | Good for |
|---|---|---|---|---|
| Hardware security key | Yes, carried by the user | Enroll a spare key beforehand | Very high, hardware protected | Administrators, high-risk roles |
| Platform biometric, device-bound | No, tied to the device | Enroll another authenticator | High | Managed company laptops |
| Synced passkey | Across the user’s own devices | Restored from the sync account | High, relies on sync account security | Broad workforce and customers |
| Phone as authenticator | Yes, the phone travels with the user | New phone setup | High | Users with no key at hand |
PIN, touch, and biometrics
Authenticators can require different local gestures. A simple touch proves a person is present. A PIN or biometric proves that the right person is present, because someone who steals a security key still needs the PIN. For sign-in that replaces passwords entirely, user verification matters, because there is no password left to act as the second check.
A hardware key is a physical house key you keep in your pocket. A synced passkey is a spare key stored in a safe that you can open from any of your homes with your personal code. The pocket key is harder to be tricked out of, but you must not lose it. The safe key is easier to recover, but you must guard the safe code carefully.
Which of these Okta accepts, and how it treats synced versus device-bound credentials, depends on your org’s authenticator settings and release. Review the authenticator options in your admin console before planning your rollout.
7Architecture and Components in an Okta Environment
A map of every actor involved when someone signs in with a security key or passkey.
The diagram below shows the cast. A person uses a browser or an app. The browser talks to Okta over HTTPS and to the authenticator over a local link. Okta consults its policies, stores credential records, writes logs, and finally lets the user into the application.
flowchart LR
USER["User"] --> BROWSER["Browser or Native App"]
BROWSER |"CTAP2 over USB, NFC, Bluetooth or built-in"| AUTH["Authenticator: Security Key or Passkey Provider"]
BROWSER |"HTTPS"| OKTA["Okta Sign-In Service - the Relying Party"]
OKTA --> POLICY["Enrollment and Authentication Policies"]
OKTA --> UD["Universal Directory with credential ID and public key"]
OKTA --> APP["Protected Application"]
OKTA --> LOG["System Log"]
Walking through the boxes
User. The human who approves the sign-in with a touch, PIN, or biometric.
Browser or native app. The go-between. It carries Okta’s request to the authenticator, and, crucially, it adds the true web address of the site. A page cannot lie about its own address to the browser. This is what makes phishing resistance possible.
Authenticator. The guardian of the private key. It performs the signing and enforces the local gestures such as touch or PIN.
Okta sign-in service. The relying party. It creates challenges, verifies signatures, and decides what to do next based on policy.
Policies. Enrollment policies decide who may or must enroll which authenticators. Authentication policies decide what proof each application requires.
Universal Directory. Where Okta keeps the user’s profile and the record of each enrolled authenticator, including the credential identifier and the public key. Notice that no secret is stored here.
System Log. The diary of events such as enrollments, successful verifications, and failures.
Protected application. The destination. Okta passes the user to it only after the policy is satisfied.
Picture a concert venue. The ticket scanner at the gate (Okta) checks tickets against a list. The ticket itself (the credential) has a hologram that only the real box office can issue (the key pair). The usher (the browser) checks the name of the venue printed on the ticket. A ticket for another venue does not scan here, no matter how nicely it is printed.
Because the browser reports the real origin, phishing resistance holds even if the user is careless. The security is in the plumbing, not in the user’s alertness.
8Internal Working: The Registration Ceremony
How an authenticator is enrolled, step by step, and what each party contributes.
Registration is a one-time introduction between Okta and an authenticator. Afterward, Okta knows the authenticator’s public key and can recognize its signatures. A user typically starts this from their account settings, or Okta prompts them during sign-in when policy requires enrollment.
sequenceDiagram
participant U as User
participant B as Browser
participant A as Authenticator
participant O as Okta
U->>O: Choose to set up a security key or passkey
O-->>B: Registration options with a random challenge
B->>A: Ask to create a new credential for this site
A->>U: Request touch, PIN or biometric
U-->>A: Approve
A-->>B: New public key and credential ID with proof of creation
B->>O: Send the registration response
O->>O: Verify the challenge and origin then store the public key
O-->>U: Authenticator enrolled
Step by step
User starts enrollment
From a settings page or an enrollment prompt, the user chooses the security key or biometric option.
Okta sends options
Okta sends a fresh random challenge, its own identity (the domain), details about the user, and preferences such as whether user verification is required.
Browser asks the authenticator
The browser attaches the true origin and passes the request along over a local connection.
User approves
The authenticator asks for a touch, PIN, or biometric. Without this, nothing is created.
Key pair is created
The authenticator generates a brand-new key pair for this site, keeps the private key, and returns the public key with a credential identifier.
Okta verifies and stores
Okta checks that the challenge and origin are correct, optionally checks which kind of authenticator it is, and stores the public key linked to the user.
What Okta stores
Okta stores the credential identifier, the public key, and some metadata. It does not receive and cannot reconstruct the private key. If an Okta database were exposed, the attacker would only gain material that is useless for signing in.
Attestation: who made this device?
During registration the authenticator may also send an attestation, a signed statement saying what kind of device it is. High-security organizations use this to allow only approved hardware models. Many organizations skip strict attestation because it adds friction and privacy concerns. Okta provides settings that influence how authenticators are accepted, and some versions allow limiting accepted models by their identifiers. Check the options available in your org.
Registration is like opening a safe-deposit box. You visit the bank in person, the bank issues you a key and keeps a record of which box is yours, and you both agree on how you will identify yourself in future. Attestation is the bank also noting the manufacturer of the key, in case it only wants to allow certain brands.
Enrollment is the moment of highest trust. If an attacker can enroll their own authenticator into your account, they gain a durable way in. Protect the enrollment step with strong proof of identity, which we revisit in the recovery and security chapters.
9Internal Working: The Authentication Ceremony
What happens each time you tap your key to sign in.
After enrollment, every sign-in is a quick challenge and response. The entire exchange usually takes only a second or two of human time, with most of that spent touching a key or scanning a finger.
sequenceDiagram
participant U as User
participant B as Browser
participant A as Authenticator
participant O as Okta
U->>O: Sign in to an application
O-->>B: Authentication request with a fresh challenge
B->>A: Ask for a signature for this site
A->>U: Request touch, PIN or biometric
U-->>A: Approve
A-->>B: Signed response
B->>O: Send the signed response
O->>O: Check signature, challenge, origin and counter
O-->>U: Access granted
What gets checked
When Okta receives the response, it checks several things in order. It confirms that the challenge matches the one it just issued, which stops replays. It confirms the origin, which stops phishing relays. It confirms the credential belongs to this user. It verifies the signature using the stored public key. It confirms that user presence was proven, and user verification too if policy demands it. Finally it may look at a signature counter, a number that the authenticator increases on every use. If the counter ever goes backward or repeats unexpectedly, that can hint that a credential was cloned, although synced passkeys often do not use counters in the same way.
Challenge
Is this the exact random value Okta just issued? Stops replays of old sign-ins.
Origin
Was the request made on the genuine Okta address? Stops lookalike sites.
Credential
Is this credential registered to this user at Okta? Stops stranger keys.
Signature
Does the signature verify with the stored public key? Proves possession of the private key.
Presence and verification
Did a person touch, enter a PIN, or use a biometric? Stops silent background use.
Counter
Has the use count moved forward as expected? A clue for cloned keys on authenticators that support it.
Username-first and usernameless flows
In a typical flow, the user first tells Okta who they are, perhaps by entering a username. Okta then knows which credentials to ask for. In a usernameless flow, the user does not type anything. The authenticator itself finds a discoverable credential for the site and offers it, as in a passkey prompt. Okta then learns who the user is from the credential. This is what makes truly passwordless and typing-free sign-in possible.
Think of a nightclub where each guest owns a wristband that can only be validated by the club’s scanner. The doorman flashes a new color code each night (the challenge). Your wristband glows the matching pattern only if it is genuine. A photograph of last week’s pattern cannot get you in, and a wristband from a different club will not glow at all.
10Why It Resists Phishing
The heart of the matter: how origin binding turns a convincing fake into a dead end.
Every FIDO2 credential is created for a specific relying party identifier, which is essentially the domain name of the site. The authenticator remembers that link. When a sign-in request arrives, the browser tells the authenticator which origin the request came from. The authenticator will only use a credential if the origin matches the one tied to that credential.
sequenceDiagram
participant U as User
participant F as Fake Lookalike Site
participant BA as Browser and Authenticator
participant R as Real Okta
U->>F: Visit a lookalike sign-in page
F->>BA: Request a signature for the fake domain
BA-->>F: No credential exists for this domain
F-->>U: Nothing for the attacker to relay
U->>R: Visit the real sign-in page
R->>BA: Request a signature for the real domain
BA-->>R: Signed response
Why the user cannot be tricked
With a typed code, the human is the only judge of whether a page is real, and humans are fooled constantly. With WebAuthn, the judge is the browser and the authenticator, which compare domain names exactly. A single wrong letter in the address means no credential is found. The authenticator does not feel urgency, does not read the page’s logo, and cannot be sweet-talked.
Why relays fail too
Even an attacker who sits in the middle and forwards messages cannot succeed. The signature produced for the fake domain includes the fake domain. When the attacker forwards it to the real Okta, Okta sees the wrong origin inside the signed data and rejects it. And since each challenge is unique, the attacker cannot save a signature and use it later.
What it does not stop
It is honest to say what phishing resistance does not cover. It does not stop malware that has already taken over the user’s device and session. It does not stop a person from being tricked into approving a legitimate prompt on the real site for an attacker’s purpose, although the design makes this far harder. It does not protect against a stolen, already authenticated session token. And it does not secure the account recovery process if recovery is weak. Those require other layers, discussed in the security chapter.
A bank vault key is cut to fit one specific vault door at one specific bank. If a thief builds a perfect replica of the bank lobby and persuades you to try your key in their fake door, the key still opens nothing real. Even if you wanted to help the thief, the key physically cannot do what they need.
Because credentials are tied to a domain, the address your users sign in to matters a great deal. Changing or adding custom domains after enrollment can affect existing credentials. Plan your domain setup before a broad rollout and confirm current guidance in Okta documentation.
11Data Flow and Lifecycle of a Credential
A credential has a life: it is born, used thousands of times, sometimes lost, and eventually retired.
Enrollment
The user registers an authenticator. Okta stores the public key and credential identifier against the user’s profile.
Everyday use
Each sign-in produces a fresh signature. The stored data does not change, apart from perhaps a counter or a last-used time.
Change of devices
The user gets a new laptop or phone. A device-bound credential must be enrolled again on the new device. A synced passkey may appear automatically.
Loss or theft
A key is lost. The user signs in with a backup authenticator, or goes through recovery. The lost key should be removed from the account.
Reset by an administrator
When a user has no working authenticator, an administrator, after verifying identity, can reset the user’s authenticators so that they can enroll again.
Retirement
The credential is removed when a person leaves, when a device is retired, or when policy requires rotation of old hardware.
What data lives where
| Data | Where it lives | Can it be used to impersonate the user? |
|---|---|---|
| Private key | Inside the authenticator only | Yes, which is why it never leaves |
| Public key | Okta’s record for the user | No, it can only verify signatures |
| Credential identifier | Okta and the authenticator | No, it is a label, not a secret |
| Challenge | Created by Okta per attempt | No, it is random and single-use |
| PIN or biometric template | On the authenticator only | Never sent to Okta |
The last row is worth underlining. Okta never receives your fingerprint or your face. The biometric check happens inside the device, which then simply tells the authenticator, “the right person is here.” Okta only ever sees a signature.
Multiple credentials per user
A user can have several FIDO2 authenticators enrolled at the same time, such as a laptop biometric, a primary key, and a spare key kept in a drawer. Each is a separate credential with its own key pair. This is not a loophole but a recovery feature. Good deployments encourage at least two enrolled authenticators from the start.
A credential’s life resembles that of a library card. You are issued one, you use it often, sometimes you lose it, and the library cancels the lost card and issues a new one after checking your identity. Good libraries do not keep your reading history on the card itself, and good identity systems do not keep your private key anywhere but with you.
12Configuring FIDO2 in Okta: The Administrator View
What an administrator actually sets up, in plain language and in the order that works best.
Configuration has three layers. First, you turn on the FIDO2 (WebAuthn) authenticator and choose its settings. Second, you decide who may or must enroll, using enrollment policies. Third, you decide where it is required, using authentication policies for applications. Doing these in order avoids locking people out.
Add the authenticator
In the Admin Console, in the authenticators area under Security, add FIDO2 (WebAuthn) to your list of available authenticators.
Choose its settings
Decide the user verification requirement, whether to accept built-in or roaming types, and, where offered, any limits on which authenticator models are accepted.
Set enrollment policy
Choose which groups may enroll it, which are required to, and which should only have it optional. Start with a pilot group.
Set authentication policy
For selected applications, require possession of a FIDO2 authenticator, or require any phishing-resistant authenticator where your engine offers that constraint.
Test with real devices
Try multiple browsers, operating systems, and key types. Confirm the sign-in experience before widening the audience.
Document the support path
Write down what the help desk does when someone loses a key, and make sure that path itself is secure.
The key settings to understand
User verification
Whether the authenticator must verify the person with a PIN or biometric, or whether a simple touch is enough. Stricter choices raise assurance but need compatible devices.
Authenticator type
Whether to allow roaming keys, built-in platform authenticators, or both. This shapes the user experience and your hardware needs.
Allowed models
Where offered, a list of accepted authenticator model identifiers. Useful to restrict to hardware you have vetted.
Enrollment requirement
Required, optional, or disabled by group. The tool for staging a rollout.
Application rule
Which proof each application requires. The tool that actually enforces phishing resistance.
Recovery policy
How a user who lost every authenticator proves identity. The place attackers will look for a weak spot.
Setting up a secure building has the same three layers. First you buy and install the badge readers. Then you decide which employees receive badges. Finally you decide which doors need a badge, and which need a badge plus a fingerprint. Skipping the middle step leaves nobody with a badge, and skipping the last step leaves every door unprotected.
Names of menus, available settings, defaults, and which features exist differ between Okta Identity Engine and Classic Engine, and between releases. Use this chapter as a map of decisions, and follow the current Okta documentation for exact screens and options.
13Enrollment and Authentication Policies
The authenticator on its own protects nothing. Policies decide where it counts.
Okta separates two policy ideas that beginners often blur together. Authenticator enrollment policies answer, “Who may register which authenticators, and who must?” Authentication policies answer, “When someone opens this application, what proof must they present?” You need both to get a real security improvement.
Enrollment policies
These are usually attached to groups. You might say that everyone in the engineering group must enroll a FIDO2 authenticator, that the finance group may enroll one but is not required to, and that contractors cannot enroll one yet. Because policies are evaluated in a defined order, you can create a strict rule for the pilot group at the top and a general rule for everyone else below it.
Authentication policies
These are attached to applications. Each rule can say who it applies to, under what conditions such as network location or device state, and what proof is needed. A typical strong rule for a sensitive application would require that the user possess a phishing-resistant authenticator and verify themselves locally with a PIN or biometric. A typical lighter rule for a low-risk application might accept a password plus any approved second factor.
| Application type | Suggested rule | Reason |
|---|---|---|
| Admin Console and identity tooling | Require phishing-resistant authenticator with user verification | Compromise here affects everything |
| Source code and cloud consoles | Require phishing-resistant authenticator | High value, frequent attacker target |
| Finance and payroll | Require phishing-resistant authenticator | Direct monetary and privacy risk |
| Internal wiki and chat | Allow strong multi-factor, prefer FIDO2 | Moderate risk, many users |
| Low-risk public portals | Standard multi-factor | Convenience matters more |
Sensible rollout order
The safe order is: configure the authenticator, set a permissive enrollment policy for a pilot group, let people enroll, confirm that they have at least two authenticators, and only then tighten the authentication policy on the applications. Reversing that order is the classic recipe for locking people out of their own accounts, because you would be demanding a proof that they have not yet been able to create.
It is like switching a company from metal keys to electronic badges. You must issue badges before you remove the locks. If you replace all locks on Monday and hand out badges on Friday, the whole company waits outside in the rain all week.
Keep a single break-glass administrator path that is protected by strong hardware keys and tested regularly. If a policy mistake locks out everyone else, you still need a safe way back in.
14Passwordless Sign-In and Passkeys with Okta
The same standards that harden multi-factor sign-in can also remove the password completely.
Most organizations begin by using FIDO2 as a strong second step after a password. This already blocks phishing relays for the second step, but the password remains a weak spot. The next stage is to let the authenticator do both jobs at once: it proves possession of the key and, through a PIN or biometric, proves the right person is present. That single gesture satisfies two factors, something you have and something you are or know, and the password disappears.
Three stages of maturity
Password plus security key
Easy to start. The key replaces text and app codes, so the second step cannot be phished. The password still exists and can still be stolen or reused.
Passwordless with verification
The authenticator verifies the person locally and signs in directly. No password is typed. Removing passwords also removes whole classes of attacks such as credential stuffing.
Passkeys everywhere
Discoverable credentials that sync or travel with the user make sign-in feel like unlocking a phone. Passwords are eliminated or kept only as tightly controlled fallbacks.
Choosing authenticators by audience
flowchart TD
A["Who is the user group?"] --> B{"Privileged or high risk?"}
B -->|"Yes"| C["Require hardware security keys with a phishing resistant policy"]
B -->|"No"| D{"Company managed devices?"}
D -->|"Yes"| E["Allow platform authenticators such as Windows Hello or Touch ID plus a backup key"]
D -->|"No"| F["Allow passkeys and security keys with a strong recovery process"]
C --> G["Enroll at least two authenticators per person"]
E --> G
F --> G
How Okta’s other features relate
Okta offers other phishing-resistant options beyond FIDO2, notably Okta FastPass, which uses the Okta Verify app and device-bound keys. These are related ideas built on the same principle: a private key bound to the device and to the genuine origin. Many organizations use FIDO2 security keys for administrators and shared or unmanaged-device situations, and FastPass or built-in biometrics for managed daily use. Which combination suits you depends on your devices, your risk, and your Okta release.
Think of how unlocking your phone changed. First, a long passcode every time. Then a short PIN. Then a fingerprint touch. Each step removed typing while keeping the phone just as safe, or safer. Passwordless sign-in does the same for accounts: less friction and fewer secrets to steal.
Passwordless sign-in still needs a plan for the unusual days: a forgotten device, a broken key, a traveling user. A passwordless design without a secure recovery path simply moves the weakness from the sign-in page to the help desk.
15Rollout Planning: Pilots, Waves and Domains
The technology is the easy half. The people and process half decides whether the project succeeds.
Phase 1: Prepare
Inventory your applications and rank them by sensitivity. Inventory your user devices and browsers, since WebAuthn needs a modern browser and a secure HTTPS connection. Decide your domain setup, because credentials are tied to the sign-in domain. Confirm which Okta engine your organization runs and which FIDO2 features it offers. Choose which authenticators you will support and buy hardware keys if needed, usually two per privileged person.
Phase 2: Pilot
Pick a small, friendly group, often the IT and security teams themselves. Let them enroll, try different browsers and devices, and report every awkward moment. Fix documentation and settings based on what they find. A pilot that surfaces ten small issues saves you from a thousand support tickets later.
Phase 3: Waves
Expand to departments in waves, beginning with the highest-risk groups such as administrators, developers, and finance. For each wave, give clear instructions, short videos or screenshots, and a date after which the policy will tighten. Hold short office hours so people can enroll with help.
Phase 4: Enforce
Once most users in a group have at least two authenticators enrolled, turn on enforcement for the applications that matter. Keep a gentle fallback for a short grace period, then remove it. Review exceptions regularly, and let each exception expire.
Phase 5: Sustain
Add enrollment to new hire onboarding. Review reports of users with only one authenticator. Replace aging hardware keys. Revisit settings when Okta releases new capabilities.
Communicate early
Explain the why: this protects people from scams that look completely real. People cooperate when they understand the purpose.
Train the help desk
The help desk is the new front line. Teach them how to verify identity and reset authenticators safely.
Test the matrix
Try Windows, macOS, Linux, iOS, and Android with the browsers your people use, including remote desktop and virtual desktop setups.
Plan for shared devices
Kiosks and shared computers cannot use personal biometrics. Hardware keys or a tailored policy are usually the answer.
Two authenticators each
Make a second authenticator a rule, not a suggestion. It is the cheapest insurance against lockouts.
Keep a break-glass path
Reserve a tightly controlled emergency administrator route for the day a policy mistake locks everyone out.
Rolling out new authentication is like moving a city to a new traffic system. You test it on a few streets first, tell residents what is changing, put helpers at the busiest junctions, and only then switch off the old signals. Cities that skip the pilot spend months untangling jams.
16Account Recovery and Lost Keys
A strong lock is only as good as the process for people who lose their key.
Attackers are practical. If the front door is steel, they look for a side window. In passwordless and phishing-resistant systems, the side window is almost always account recovery: the process by which a person who has lost every authenticator regains access. If recovery is easy to talk your way through, the strongest key in the world does not matter.
Layers of recovery
Use the spare
The best recovery is a second enrolled authenticator. Most lost-key cases end here, with no help desk involved.
Self-service with another strong factor
Allow recovery using another strong authenticator the user still has, rather than a weak factor such as a text message.
Assisted recovery
When the user has nothing left, a help desk agent verifies identity through a strict process, then triggers a reset so the user can enroll a new authenticator.
Cleanup
Remove the lost authenticator from the account, and review whether any sessions need to be ended.
What good identity verification looks like
For assisted recovery, avoid questions whose answers are easy to find, such as a date of birth. Prefer a live video call with a manager who knows the person, a check against HR records, or approval from a second authorized person. For administrators and other high-risk roles, require an in-person or highly verified process. Log every step so there is an audit trail.
Require two authenticators
A spare key in a safe place reduces help desk load dramatically.
Use strong identity checks
Manager confirmation, live video, or verified HR data are better than knowledge questions.
Time-limit recovery links
Any temporary access should expire quickly and be single-use.
Text message recovery for admins
Phone numbers can be hijacked, so this undermines the phishing-resistant design.
Unlogged help desk resets
Every reset should create a record of who asked, who approved, and what was verified.
Instant resets on request
A short delay and a notification to the user and manager give real owners a chance to object.
A bank issues a replacement debit card only after confirming that you are who you say, and sends the new card to your registered address, not to whoever phones in. It also texts you that a replacement was requested. Your recovery process should behave the same way: slow enough to be safe, quick enough to be kind.
An account is only as secure as its easiest recovery path. Audit that path as carefully as you audit sign-in.
17Security Considerations
FIDO2 closes the biggest door. These are the other doors and windows to check.
It would be dishonest to call any technology unbreakable. FIDO2 sharply reduces risk, but attackers adapt. The goal is to understand what remains and cover it with other layers.
Threat 1: Enrollment hijack
If an attacker can sign in with a weak method and enroll their own authenticator, they gain a durable foothold. Protect enrollment itself. Require a strong proof before adding a new authenticator, notify the user whenever one is added, and monitor for unexpected enrollments.
Threat 2: Weak recovery
As discussed, attackers who cannot beat the key will target the process that replaces it. Treat recovery as a security control with its own design review.
Threat 3: Fallback to weaker methods
If your policy still allows a text message or app code as an alternative, an attacker will simply pick that option. Phishing resistance only exists where weaker options are not accepted. This is the most common gap in real deployments: strong keys everywhere, but weak fallbacks still enabled.
Threat 4: Session theft
After a successful sign-in, the user holds a session token. Malware or a malicious browser extension can steal that token and use it elsewhere. FIDO2 protects the moment of sign-in, not the life of the session. Use shorter sessions for sensitive apps, device-aware policies, and endpoint security to reduce this risk.
Threat 5: Compromised endpoint
If malware controls the computer, it can wait for the user to approve a legitimate prompt, then abuse the resulting session. Hardware with user verification limits what malware can do silently, but endpoint protection remains essential.
Threat 6: Social engineering of approvals
An attacker may ask a user by phone to “approve the prompt that just appeared” on a real sign-in. Because a touch is a silent gesture, training should teach people never to approve an unexpected request, and policies that require a PIN or biometric add a further moment to pause.
Threat 7: Admin account abuse
Administrators can reset authenticators. Restrict who holds that permission, require strong authentication for them, and log every reset. A few well-protected administrators are safer than many casual ones.
Supply chain and device trust
Buy hardware keys from reputable vendors and distribute them carefully. In high-security settings, use attestation settings to accept only models you have vetted, and record the identity of the person who receives each key.
| Threat | Does FIDO2 alone stop it? | Additional defense |
|---|---|---|
| Phishing page capturing a code | Yes | Disable weak fallbacks so attackers cannot downgrade |
| Real-time relay | Yes | Same as above |
| Credential stuffing | Yes when passwords are removed | Remove or restrict passwords |
| Database theft at Okta | Yes, only public keys are stored | Standard data protection |
| Stolen session token | No | Shorter sessions, device checks, endpoint protection |
| Weak recovery abuse | No | Strong recovery process and logging |
| Unauthorized enrollment | No | Protect and monitor enrollment |
Fitting a bank with an unpickable front-door lock is a fine start. But if the back door is propped open, or the night guard hands out spare keys to anyone with a good story, the lock was an expensive decoration. Security is a chain, and each link needs attention.
18Monitoring, Logging and Metrics
Strong sign-in only helps if you notice when something unusual happens around it.
Okta records activity in the System Log, including events about authenticator enrollment, sign-in attempts, and policy evaluation. Learn what these events look like on a normal day so that unusual ones stand out. Exact event names vary by release, so search the log for authenticator and sign-in activity and become familiar with the results in your own org.
Events worth watching closely
New authenticator added
Alert when a new FIDO2 authenticator is added, especially for privileged users, or shortly after a recovery or reset.
Authenticator reset by an admin
Every reset should match a ticket. Resets without a ticket deserve immediate review.
Repeated failed verifications
A burst of failures can indicate a broken device, a misconfiguration, or an attacker experimenting.
Weak factor use after strong enrollment
If a user with a security key suddenly signs in using a weaker method, investigate. It may be an attacker choosing the easy path.
Changes to policies and settings
Edits to authenticator settings or authentication rules should be rare, approved, and alerted on.
Unusual sign-in context
Impossible travel or odd networks remain useful signals even with strong authentication.
Metrics for the program
Other helpful numbers include the volume of help desk tickets about authenticators, the time to resolve a lost-key case, the number of sign-ins still using weak methods, and the number of active exceptions. Plot them monthly. A falling count of weak-method sign-ins is the clearest sign that the project is working.
Getting alerts to people
Send log events to your security monitoring platform, and set alerts for the high-value events above. Okta also offers ways to react to events with automation, such as Event Hooks or Workflows, which can open tickets or notify managers. Make sure alerts go to a monitored team channel, not one person’s inbox.
A good door lock does not replace a doorbell camera. The lock stops easy break-ins, and the camera tells you who tried the handle at night. Monitoring is the camera for your identity system: it does not stop anything, but it tells you what to look into.
Run a quarterly report of users who have only one enrolled authenticator and send each of them a friendly reminder to add a spare. This single habit prevents more lockouts than any technical setting.
19Design Patterns That Work
Reliable shapes that many successful rollouts share.
Pattern: Protect the crown jewels first
Begin with administrators, developers with production access, and finance staff. The highest-value accounts get the strongest protection first, which delivers the biggest risk reduction for the smallest number of people.
Pattern: Two authenticators per person
Require a primary and a backup, such as a laptop biometric plus a hardware key kept at home. This removes most lockouts and most help desk pressure.
Pattern: Tiered application policies
Group applications by sensitivity and attach a matching rule to each tier. High tiers require phishing-resistant proof, while low tiers remain convenient.
Pattern: Remove the weak fallback
Once enrollment is high enough, switch off text message and app code options for protected applications. This closes the downgrade path that attackers love.
Pattern: Break-glass administrator
Keep one or two emergency accounts protected with hardware keys stored in separate secure locations, tested regularly, and monitored for any use at all. They exist for the day policy mistakes lock out everyone else.
Pattern: Enrollment at onboarding
Enroll authenticators on a new hire’s first day, when identity can be verified in person or on a live call. This builds secure habits from the beginning and avoids a later migration.
Pattern: Managed device plus biometric
On company laptops, use the built-in platform biometric as the daily authenticator and a hardware key as backup. Daily friction is minimal and phishing resistance is preserved.
How the patterns combine
Each pattern covers a different weakness. Starting with high-value users gets quick wins. Two authenticators prevent lockouts. Tiered policies balance security and convenience. Removing weak fallbacks keeps attackers from downgrading. The break-glass account is the parachute. Enrollment at onboarding keeps the system healthy as people join. Together they form a program rather than a one-time project.
Think of how a hospital protects its pharmacy. Strongest locks go on the most dangerous drugs, two keys exist for every cabinet, ordinary supplies are easier to reach, the old master key is withdrawn, and an emergency override is kept sealed and logged. These are exactly the same ideas applied to a different treasure.
20Anti-Patterns to Avoid
Mistakes seen again and again, so you can skip them.
What It Looks Like
Strong security keys are rolled out, but text message and app codes remain accepted for every application.
Why It Hurts
Attackers pick the weakest accepted method. The key adds convenience for honest users while giving no protection against phishing.
Do This Instead
Require phishing-resistant authenticators for sensitive applications and remove weaker options once enrollment is high.
What It Looks Like
Requiring FIDO2 for an application before users have enrolled any authenticator.
Why It Hurts
People are locked out of their own tools. The help desk is flooded and leaders lose faith in the project.
Do This Instead
Enroll first, verify coverage, enforce later. Use a grace period and a clear deadline.
What It Looks Like
One authenticator per person and no tested recovery path.
Why It Hurts
One lost key means a locked-out employee, an emergency ticket, and a rushed identity check that attackers exploit.
Do This Instead
Require two authenticators and design recovery as a deliberate, strongly verified process.
What It Looks Like
Changing the sign-in domain, or adding a custom domain, after thousands of users have enrolled.
Why It Hurts
Credentials are tied to the domain they were created for. A change can leave users with credentials that no longer match, forcing mass re-enrollment.
Do This Instead
Finalize domain decisions before broad enrollment, and read Okta’s current guidance on domain changes before touching them.
What It Looks Like
Help desk staff reset authenticators after a quick phone call with easily guessed questions.
Why It Hurts
Attackers pose as employees, pass the weak questions, and enroll their own device. All the cryptography is bypassed by a friendly voice.
Do This Instead
Use strong verification, manager approval, notifications, delays for sensitive accounts, and complete logging.
What It Looks Like
Treating the rollout as a one-time project with no monitoring, no metrics, and no owner afterward.
Why It Hurts
Exceptions pile up, weak fallbacks creep back, and coverage drifts down as new hires skip enrollment.
Do This Instead
Assign an owner, track coverage and weak-method use monthly, and review exceptions on a schedule.
21Advantages, Disadvantages and Trade-offs
An honest ledger of what you gain and what you pay.
Advantages
- Resists phishing and real-time relay attacks by design
- Nothing reusable is stored at Okta, only public keys
- Removes password reuse and credential stuffing when passwords are removed
- Fast sign-in with a touch or glance, which users often prefer
- Open standards supported by major browsers and operating systems
- Per-site credentials prevent cross-site tracking and cross-site leaks
Disadvantages
- Hardware keys cost money and must be distributed and tracked
- Lost devices create recovery work, so planning and spares are needed
- Recovery processes can become the new weak point
- Some older browsers, devices, and virtual desktops behave awkwardly
- Synced passkeys depend on the security of the sync account
- Does not protect against stolen sessions or compromised endpoints
Trade-offs to think through
Security versus convenience. Hardware keys with PINs offer the strongest assurance but ask more of users. Built-in biometrics and passkeys feel almost effortless. Many organizations use the strongest option for high-risk roles and a convenient one for everyone else.
Device-bound versus synced. Device-bound credentials are harder to move and therefore harder to steal, but harder to recover. Synced passkeys are easy to recover but inherit the risk profile of the sync account. Choose per audience.
Strict attestation versus openness. Allowing only approved models improves control, but adds administrative work and may exclude devices people already own. Open acceptance is simpler but offers less assurance about the hardware.
Speed versus safety in recovery. Instant resets make users happy and attackers happier. Slower, verified resets protect accounts but cost time. Match the strictness to the sensitivity of the account.
Big-bang versus phased rollout. A single switch date is easy to explain but brittle. Phased waves take longer, yet catch problems when they are still small.
Spend your hardware budget and your strictest settings on the smallest group with the most power. Spend your convenience budget on everyone else.
22Best Practices and Common Mistakes
A checklist to read before launch and during every review.
Best practices
- Start with the highest-risk users such as administrators, developers with production access, and finance staff.
- Require two authenticators per person so a single loss never means a lockout.
- Enroll before you enforce. Check coverage, then tighten application policies.
- Remove weak fallbacks on sensitive applications, so attackers cannot downgrade the sign-in.
- Protect enrollment and recovery with strong identity checks, notifications, and logs.
- Settle your sign-in domain early, because credentials are tied to it.
- Test across browsers, operating systems, and remote desktop setups before wide release.
- Keep a tested break-glass administrator path secured with hardware keys.
- Monitor new enrollments, resets, policy changes, and weak-method sign-ins.
- Train the help desk, and give them a script that does not bend to urgency.
- Reduce session risk with shorter lifetimes and device-aware rules for sensitive applications.
- Document ownership and review the setup whenever Okta releases relevant capabilities.
Common mistakes
Enforcing too early
Policies tighten before people have enrolled, creating an avalanche of lockouts.
Keeping weak fallbacks forever
Text and app codes stay available, so phishing resistance never actually takes effect.
One key per person
A lost or broken key becomes an emergency, and emergencies breed risky shortcuts.
Ignoring the help desk
Untrained agents become the easiest target for social engineering.
Skipping browser testing
Unexpected behavior in a particular browser or remote desktop tool frustrates users.
Late domain changes
Changing the sign-in domain after enrollment strands existing credentials.
No metrics
Nobody can say how many users are covered or how many sign-ins still use weak methods.
Assuming it solves everything
Session theft, endpoint compromise, and weak recovery still need their own defenses.
23Real-World Usage Scenarios
What happens when phishing-resistant sign-in meets the real world. Public reports are summarized in general terms. Always check the original sources for exact details.
Google and hardware security keys
Google publicly described moving its large workforce from one-time codes to hardware security keys. Reports in 2018 said that after the switch, the company saw no successful phishing takeovers of employee accounts. The story is often cited because it shows what happens when phishing-resistant proof is applied broadly instead of only to a few accounts.
The 2022 phishing campaign aimed at identity logins
In 2022, researchers and companies described a widespread phishing campaign, nicknamed 0ktapus, that used text messages and lookalike sign-in pages to capture employee credentials and codes at many organizations. Cloudflare publicly explained that its employees also received these messages, and that some entered their details, but that attackers could not complete sign-in because the company used hardware security keys that would not work on the fake pages. Other organizations that relied on typed codes were reported to have been compromised. The contrast is the clearest everyday proof of phishing resistance.
Scenario: A software company protecting production access
Imagine a software company with two thousand staff. It starts with the three hundred engineers who can reach production systems. Each receives two hardware keys, and sign-in to cloud consoles and source repositories through Okta requires a phishing-resistant authenticator. Within two months, weak-method sign-ins to those applications drop to near zero. A simulated phishing exercise shows that engineers who try to follow the fake link cannot complete sign-in at all.
Scenario: A hospital with shared workstations
Picture a hospital where nurses share computers on a ward. Personal biometrics on the workstation do not fit, so the hospital issues each clinician a hardware key on a badge lanyard. The key unlocks the shared computer and the clinical applications with a tap and a PIN. Sign-in time falls from about half a minute to a few seconds, and the clinicians appreciate the speed as much as the security.
Scenario: A retailer moving customers to passkeys
Imagine a retailer using Okta’s customer identity capabilities. Customers are offered passkeys at checkout, which sign them in with a fingerprint or face scan on their phones. Account takeover attempts that rely on stolen passwords fall, and fewer customers abandon baskets because they forgot a password. The company keeps a carefully secured recovery path for the customers who change phones.
Scenario: An administrator lockout rescued
A team tightens an authentication policy and accidentally blocks every administrator, because the rule requires a method nobody has enrolled. A break-glass account, protected by two hardware keys kept in separate safes, saves the day. The team corrects the policy within the hour and adds a checklist step requiring a coverage check before any enforcement change.
These stories resemble seat belts and airbags. Their value is hard to see on ordinary days and unmistakable on the one bad day when a collision happens. FIDO2 shows its worth when a skilled phishing wave hits and the fake page simply returns nothing.
24How FIDO2 Compares with Other Okta Authenticators
Okta supports many ways to prove identity. Seeing them side by side explains where FIDO2 fits and why.
Okta offers a menu of authenticators, and a good design uses several of them for different people and situations. The main question to ask of each is simple: if a criminal builds a fake sign-in page and tricks the user into using this method, can the criminal reuse what the user provided? If yes, the method is vulnerable to phishing. If no, it is phishing-resistant.
| Authenticator | How it proves identity | Phishing-resistant? | Typical role |
|---|---|---|---|
| Password | A remembered secret that the user types | No | First step, or to be phased out |
| Text message or voice code | A code sent to a phone number | No, and phone numbers can be hijacked | Last-resort fallback for low-risk users |
| Authenticator app code | A rotating code the user reads and types | No | Moderate-risk second step |
| Push notification approval | A tap to approve a prompt | Not by itself, and can suffer from approval fatigue | Convenient second step, often with number matching |
| Okta Verify with FastPass | Device-bound keys and origin checks | Yes | Daily sign-in on managed devices |
| FIDO2 (WebAuthn) security key | Hardware-held private key and origin-bound signature | Yes | Administrators, shared devices, high-risk roles |
| FIDO2 platform biometric or passkey | Built-in or synced credential with local verification | Yes | Broad workforce and customer sign-in |
Why codes and prompts fall short
A typed code is a secret that is valid for a short time. During that time, anyone holding it can use it. A real-time phishing proxy gets the code from the user and forwards it within seconds, well inside the validity window. A push prompt is different but has its own weakness: a determined attacker can trigger many prompts until a tired user taps approve, or can phone the user with a convincing story. Number matching and context details improve push, but the approval is still a human decision on a message, not a cryptographic check of the website.
What makes FIDO2 different
With FIDO2, the human is not asked to judge anything. The decision about whether the website is genuine is made by the browser and the authenticator, which compare domain names exactly. The human only confirms presence. This transfer of judgment from a tired person to a precise machine is the real innovation.
FIDO2 security keys
When you need the strongest assurance, work with shared computers, or support users who should not depend on a personal phone.
Platform biometrics and passkeys
When people use managed laptops or phones and you want low friction with strong protection.
Okta FastPass
When you run managed devices and want a smooth, device-aware, phishing-resistant experience through Okta Verify.
Codes and push
Allow them only where risk is low, or as short-lived stepping stones while enrollment into stronger methods grows.
Think of ways to confirm your identity at a bank. Saying a memorized phrase (a password) can be overheard. Reading a code from a slip (a typed code) can be copied. Pressing “yes” on a message (a push) can be tricked. Presenting a chip card that only works in the bank’s own reader (FIDO2) cannot be used by someone standing in a copycat lobby, however convincing the decor.
25Browsers, Devices and Compatibility
The standards are universal, but real computers are messy. Knowing the compatibility landscape avoids unpleasant surprises.
WebAuthn is a web standard, so it lives inside the browser. Every current mainstream browser on desktop and mobile supports it, and the major operating systems provide built-in authenticators. But support has layers, and a smooth experience depends on the combination of browser, operating system, and authenticator.
What must be true for WebAuthn to work
A secure connection
The page must be served over HTTPS. Browsers refuse to offer WebAuthn on insecure pages.
A capable browser
A reasonably current version of a mainstream browser. Very old or heavily locked-down browsers may lack support.
A way to reach the authenticator
USB, NFC, or Bluetooth for roaming keys, or a built-in sensor and secure chip for platform authenticators.
Operating system support
The system must expose its biometric and credential features to the browser, for example through its built-in unlock features.
Tricky environments
Remote and virtual desktops. When a person works inside a remote session, the key is plugged into their local computer, not the remote one. Whether the remote tool passes the key through varies. Test your own tools. In some designs, the sign-in happens on the local side before the remote session starts, which avoids the problem.
Shared and kiosk machines. Personal biometrics do not make sense on a computer many people use. Hardware keys with a PIN are the usual answer.
Embedded browsers and older apps. Some desktop apps open sign-in inside a small embedded browser that may not support WebAuthn well. Prefer apps that use the system browser for sign-in.
Private browsing and strict privacy settings. Some privacy tools block or limit credential features. A user who reports odd behavior might be using such a setting.
Mobile experiences. Phones can use built-in biometrics, nearby-device authentication, or NFC and USB keys. The experience varies by operating system version, so test the phones your people actually use.
| Environment | Common approach | Watch out for |
|---|---|---|
| Managed laptops | Platform biometric plus a backup hardware key | Biometric hardware not set up by the user |
| Personal phones | Built-in biometric or synced passkey | Sync account security and recovery |
| Shared clinical or retail workstations | Hardware key with a PIN on a lanyard | Lost keys and rapid reissue |
| Remote desktop users | Key redirection or sign-in on the local side | Tools that do not pass keys through |
| Contractors on their own devices | Security key or passkey with strict recovery | Unmanaged device risk and inconsistent browsers |
It is like fitting a universal charger. The standard plug exists, but you still need the right adapter for each country and each socket in each hotel room. A short compatibility test before a big trip is far cheaper than discovering the mismatch at the airport.
Build a small compatibility matrix listing the browsers, operating systems, and remote tools your people use, and tick off each combination during the pilot. That one sheet answers most support questions before they are asked.
26Troubleshooting Common Problems
Most trouble falls into a handful of families. A calm checklist solves most of it.
| Symptom | Likely cause | What to check |
|---|---|---|
| Browser does not prompt for the key | Unsupported browser or a blocked prompt | Try a current mainstream browser, check for pop-up or permission blocks, ensure the page uses HTTPS |
| Key is not recognized | Wrong key, or a key enrolled for a different domain | Check which key was enrolled, and confirm the user is signing in at the expected domain |
| Enrollment fails | Authenticator setting conflicts, such as a required PIN that is not set | Set a PIN on the key, or relax the user verification requirement for that group |
| Works on one computer but not another | Operating system or browser difference, or missing platform feature | Test across the matrix, update the operating system, and verify biometrics are set up |
| Fails inside remote desktop | The key is not passed through to the remote session | Check how the remote tool redirects security keys, or use a platform authenticator on the local side |
| Passkey missing on a new phone | Sync not enabled or a different account used | Confirm the sync account and settings, or enroll a new authenticator |
| Users are asked for a weaker method | Policy still allows fallbacks | Review authentication policy rules and their order |
| Everyone fails after a configuration change | Domain or policy change affecting credentials | Review recent changes, restore the previous setting if possible, and use the break-glass path |
A simple troubleshooting routine
Reproduce
Ask the user to try again while you watch, noting the browser, operating system, and key type.
Isolate
Try another browser, another computer, or another authenticator. Whichever change fixes it points to the cause.
Read the log
Check the Okta System Log entries for the sign-in attempt. They often show whether the failure was in the challenge, the policy, or the verification.
Compare to a known good user
See what differs in policy, group membership, enrolled authenticators, and device between the failing user and a working one.
Fix and record
Apply the fix, and add the cause to your help desk notes so the next case is quicker.
It is the same method a mechanic uses with a car that will not start. Check whether the problem repeats, swap one part at a time, read the warning codes, compare with a car that runs, and write down what worked.
27Frequently Asked Questions
Short answers to the questions that come up most often.
28Summary and Key Takeaways
If you remember nothing else, remember the box below.
WebAuthn and FIDO2 change the nature of proof. Instead of handing over a secret that a fake page can copy, the user’s device signs a fresh challenge for one specific website, using a private key that never leaves the device. Okta supports this as an authenticator, and with the right policies it can require it where it matters most. The cryptography is solid and the standards are open. What decides success is everything around it: sensible policies, two authenticators per person, strong recovery, careful rollout, and steady monitoring.
Key Takeaways
- Proof, not secrets. FIDO2 uses public key cryptography, so Okta stores only public keys and the private key never leaves the authenticator.
- Origin binding defeats phishing. Credentials only work for the genuine domain, so lookalike pages and real-time relays receive nothing usable.
- Policies make it count. Enrollment policies decide who has authenticators. Authentication policies decide where they are required.
- Enroll first, enforce later. Pilot, roll out in waves, confirm coverage, and then tighten, to avoid mass lockouts.
- Two authenticators each. A spare key or second platform credential prevents most lockouts and takes pressure off the help desk.
- Close the side doors. Remove weak fallbacks, protect enrollment and recovery, shorten risky sessions, and monitor enrollments, resets, and policy changes.
- Plan the domain and verify details. Settle the sign-in domain before wide enrollment, and confirm menus, defaults, and features in current Okta documentation for your engine.