---
title: "Activate Passkeys and Let Your Users Log in without a Password"
description: "Auth0 by Okta now supports passkeys! Here’s how you activate them so your users can enjoy passwordless login."
authors:
  - name: "Joey deVilla"
    url: "https://auth0.com/blog/authors/joey-devilla/"
date: "Oct 4, 2023"
category: "Identity & Security,Security,Passkeys"
tags: ["passkeys", "identity", "fido", "passwordless"]
url: "https://auth0.com/blog/activate-passkeys-let-users-log-in-without-password/"
---

# Activate Passkeys and Let Your Users Log in without a Password

## Passkeys Are Now Available in Auth0 by Okta!

Passkeys are a replacement for passwords, and they’re now a feature in Auth0! Your users can enjoy the convenience and enhanced security that passkeys provide.

If you’d like to find out more about what passkeys are, what the user experience is like, and how they work, take a look at this article on the Okta blog: [*_Adding Passkeys to Your Applications with Okta Customer Identity Cloud Powered by Auth0_*](https://www.okta.com/blog/2023/10/adding-passkeys-to-your-apps-with-okta-cic-powered-by-auth0/). It will provide you with plenty of background information about this new feature.

If you want to activate passkeys for your users, read on! You’ll be pleased that the process takes very few steps.

<include src="LearnPasskeysCTA"/>

## Activating Passkeys

Passkeys are available as a feature on all Auth0 plans — even the free ones! This means that if you want to familiarize yourself with passkeys and their user experience, you can <a href="https://a0.to/blog_signup" data-amp-replace="CLIENT_ID" data-amp-addparams="anonId=CLIENT_ID(cid-scope-cookie-fallback-name)">set up a free tenant and add passkey-enabled authentication to your applications at no cost</a>.

### Good news for developers: you don’t have to update any code!

![Developer in chair with a laptop in their lap, arms raised in victory.](https://images.ctfassets.net/23aumh6u8s0i/2HWOHOwXs1jU1XmXWPAJJP/91161bac9d396cf9b57d0a7d281593e1/cheering_developer.png)

You don’t have to change any of your application code to support passkeys. The code that displays the Universal Login box with the email and password displays the new version with the _Continue with a passkey_ button once you enable passkeys in your tenant.

### How to activate passkeys

To enable passkeys for your users, sign into the Auth0 Dashboard, and if necessary, select a tenant.

In the left column menu, select _Authentication_ → _Database_. You will be taken to the _Database Connections_ page:

![Database Connections page](https://images.ctfassets.net/23aumh6u8s0i/3XfCfsP4PJcdX6M2Q8vqFP/e13422d9053117bf7305e6913379ee82/01.png)

Remember that with passkeys, the authentication server stores the users’ public keys. This means that in order to enable passkeys, user information must be stored in an Auth0 database. **You cannot use a custom database if you want users to sign in with passkeys.**

Choose an existing Customer Identity Cloud database from the list or create a new one by clicking the _+ Create DB Connection_ button and then choose that database. In this example, we’ll enable passkeys on the default _Username-Password-Authentication_ database connection.

You should now be on the Settings tab of the database connection:

![Settings page of the Username-Password-Authentication database connection](https://images.ctfassets.net/23aumh6u8s0i/64SMnTqwOg5tBH0ySuvXIZ/11030b48bbaa9a315262c69a7a509849/02.png)

Click the _Authentication Methods_ tab. This is where you activate passkeys:

![Authentication Methods tab, with Passkey switch in the “off“ position](https://images.ctfassets.net/23aumh6u8s0i/7fVIRsMNCunbLv6R9Fclig/4695bcd2c8e72a803306127ec71f0da3/03.png)

Turn on the _Passkey_ switch. This will activate passkeys for the tenant’s users.

Depending on your current database setup, you might need to change some settings before you can enable passkeys. You’ll know this is the case if you click the _Passkey_ switch and see a pop-up like this:

![Pop-up showing missing passkey prerequisites](https://images.ctfassets.net/23aumh6u8s0i/4ofnZJpwGuWaNvSBGDxbPa/977ba453f6dab114a2eec4667b861b5e/04.png)

Click the link for any item marked _PENDING_ and make the required changes. For example, if “New Universal Login Experience must be enabled:” is _PENDING_, click that link to go to the login experience page and enable the New Universal Login.

Here are all the required configurations for passkeys:

* Enable these features:
	* **Identifier First login flow.** The _Identifier First_ login flow presents the user with a screen where they enter their identifier, followed by another step where the user provides proof of their identity, such as a password or confirmation from a face or fingerprint recognition system. It differs from the _Identifier + Password_ login flow, which presents the user with a single screen to enter both their email and password.
	* **New Universal Login Experience.** The New Universal Login Experience provides many improvements over the Classic Universal Login Experience, including support for the W3C/FIDO Web Authentication API, which is necessary for passkeys.
* Disable these features:
	* **Custom Login Page.** Currently, the login flow for passkeys does not support custom login pages.
	* **Requires username.** With passkeys, there is no need for an additional text field for the user to enter a username.
	* **Use my own database.** Passkeys require a specific database setup, so only the Customer Identity Cloud database is allowed when passkeys are enabled.

Once you’ve met all the prerequisites for passkeys, you can enable them. The page should look like this:

![Authentication Methods tab, with Passkey switch in the “on“ position](https://images.ctfassets.net/23aumh6u8s0i/Qlr00CvgsFGd46cOZR9or/7b2e1170a6a09fab9d24ed28e14db36a/05.png)

You can now configure the settings for passkeys. Do this by clicking the _Configure_ link for the _Passkey_ item. This will take you to the _Passkey Policy_ tab of the _Policies_ page for the database connection:

![Passkey Policy tab of Policies page](https://images.ctfassets.net/23aumh6u8s0i/643sxiccQjpWdUsBvL528s/3df48433375f1a95fce38f26c2d043e2/06.png)

Let’s take a closer look at each of the settings areas on this page.

The first section is the _Passkey Challenge_ section, which defines how Universal Login presents passkey options to the user:

![Passkey Challenge section](https://images.ctfassets.net/23aumh6u8s0i/2uTtiGuRmEJuejdOR6SPSd/7614660c58cef4565af973f121348bed/07.png)

The default selection, _Both_, results in a Universal Login box that looks like this:


<img src="https://images.ctfassets.net/23aumh6u8s0i/3AO5dXLKgt0kb4lscxD0Sr/abbe5b17cfc5576639e1070ea1589557/7a.png" alt="Universal Login box featuring both email address text field and “Continue with a passkey” button" width="500"><br>


This version of the Universal Login box provides two options for logging in with a passkey. First, there’s the very obvious _Continue with a passkey_ button at the bottom, which presents a list of passkey options when pressed.

There’s also the less obvious autofill. It appears when you click on the _Email address_ field, also providing passkey options:

<img src="https://images.ctfassets.net/23aumh6u8s0i/5RDJGPagC2loJtpOqxh4IA/278ef844d3768669badd009770cacebc/7b.png" alt="Universal Login box with a pop-up menu appearing beside the Email address text field" width="500"><br>

This is where the “discoverable” part of passkeys comes in. The user doesn’t have to type in their email address to log in because the browser is able to discover this information.

Since passkeys will be new to most users, we recommend providing users with as many options as possible by selecting the _Both_ option.

The next section contains the enrollment controls:

![Progressive Enrollment and Local Enrollment sections](https://images.ctfassets.net/23aumh6u8s0i/1CzIy25CTpwJczGVjD3fuO/3a41e2cce254ea1b864ef1a9db0f55b5/8.png)

We recommend that you turn on both _Progressive Enrollment_ and _Local Enrollment_, as they make for a better user experience. This is especially true for the _Local Enrollment_ option, which lets users create a new passkey on their local device.

## Take Passkeys for a Test Run

Now that you’ve enabled passkeys, it’s time to try them out. Click on _Getting Started_ in the left column menu, then click the _Try it out_ link in the _Try your Login box_ section:

![The Getting Started page](https://images.ctfassets.net/23aumh6u8s0i/6xIukz0MFdFz2qXLu2Vhvw/5e617d07eedb8067ff7f14760d06fde2/09.png)

You’ll see the Universal Login box:

<img src="https://images.ctfassets.net/23aumh6u8s0i/3AO5dXLKgt0kb4lscxD0Sr/abbe5b17cfc5576639e1070ea1589557/7a.png" alt="Universal Login box featuring both email address text field and “Continue with a passkey” button" width="500"><br>

Create a new account by clicking the login box’s _Sign up_ link. You’ll see this:

<img src="https://images.ctfassets.net/23aumh6u8s0i/72c8onNnTqteldYZyVSWvo/260381b65f9b03cd128639d07b4a3e01/10.png" alt="The “Create Your Account” window” button" width="500"><br>

Enter an email address into the field and click the _Continue_ button. You’ll be given the option to create a passkey:

<img src="https://images.ctfassets.net/23aumh6u8s0i/10NFQPGZWt0J812WYRXmBh/55f1ed8742ab35d711c315928793aa89/11.png" alt="Create a passkey for All Applications on this device" width="500"><br>

Click the _Create a passkey_ button. You’ll see this pop-up:

![The “Create a passkey” pop-up](https://images.ctfassets.net/23aumh6u8s0i/3fCLK6elDLVoKzGZVG02Pa/e942165fe827e794b21c16b84cc64293/12.png)

Select the _This device_ option. The pop-up will be replaced with this:

![The follow-up “Create a passkey” pop-up](https://images.ctfassets.net/23aumh6u8s0i/VGmCSE5HBr7xCb2j4xet0/29469f0cbb14a88e441d2be9622921fc/13.png)

Click _Continue_ to create a passkey on your computer.  You’ll then be asked to verify your identity with your computer:

![“Google Chrome is trying to verify your identity” pop-up](https://images.ctfassets.net/23aumh6u8s0i/2fj9aoDANJQnlmkdERZ8VY/0197f8812ddcb65110081b9556e9b032/14.png)

Once you’ve authenticated yourself, you’ll see this sign of success:

![The Deashboard’s “It Works!” screen](https://images.ctfassets.net/23aumh6u8s0i/1cdCf7Oq00Q7XvDsbDnFb4/41acb1dfd02feda06a42e446ca3b6a34/15.png)

Congratulations! You’ve successfully enabled passkeys on your tenant!

Try creating passkeys using your tenant’s applications and then logging in. Here’s one of my mobile apps authenticating against my passkey-enabled tenant:

![Universal Login screen with passkeys activated, as seen on an iPhone 14](https://images.ctfassets.net/23aumh6u8s0i/1lMA2ZcOHf9etfLx24v3au/23dda036a2aa52a0d882332a5e59e12a/16.png)

## Conclusion

Activate passkeys now and see how you can give your users a more convenient, more secure login experience!

* If you’re new to Okta Customer Identity Cloud Powered by Auth0, <a href="https://a0.to/blog_signup" data-amp-replace="CLIENT_ID" data-amp-addparams="anonId=CLIENT_ID(cid-scope-cookie-fallback-name)">sign up for a free trial account!</a>
* If you already have an account, you’ll want to look at our [passkeys documentation](https://auth0.com/docs/authenticate/database-connections/passkeys).
* Be sure to read the companion article to this piece, [*_Adding Passkeys to Your Applications with Okta Customer Identity Cloud Powered by Auth0_*](https://www.okta.com/blog/2023/10/adding-passkeys-to-your-apps-with-okta-cic-powered-by-auth0/)!
