A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.google.com/identity/passkeys/developer-guides below:

Passkeys developer guide for relying parties | Authentication

Skip to main content Passkeys developer guide for relying parties

Stay organized with collections Save and categorize content based on your preferences.

Learn how you can integrate passkeys into your service.

Anatomy of a passkey system

A passkey system consists of a few components:

Registration flow

Use the WebAuthn API on a website or the Credential Manager library on an Android app to create and register a new passkey.

To create a new passkey, there are a few key components to provide:

Once an RP requests creating a passkey and the user verifies it with a screen unlock, a new passkey is created and a public key credential is returned. Send that to the server and store the credential ID and the public key for future authentication.

Learn how to create and register a passkey in detail:

Authentication flow

Use the WebAuthn API on a website or the Credential Manager library on an Android app to authenticate with a registered passkey.

To authenticate with a passkey, there are a couple of key components to provide:

Once an RP requests an authentication with a passkey and the user verifies it with a screen unlock, a public key credential is returned. Send that to the server and verify the signature with the stored public key.

Learn how to authenticate with a passkey in detail:

Note: Credential Manager supports multiple sign-in methods, such as username and password, passkeys, and federated sign-in solutions (such as Sign-in with Google) in a single API, thus simplifying the integration for developers. Server-side integrations

Upon creating a passkey, the server needs to provide key parameters such as a challenge, user information, credential IDs to exclude, and more. It then verifies the created public key credential sent from the client and stores the public key in the database. For authenticating with a passkey, the server needs to carefully validate the credential and verify the signature to let the user sign in.

Learn more in our server-side guides:

Important: Building a passkey server by yourself is not time-effective, and may cause bugs that could lead to a critical security incident. We recommend using one of the available open-source libraries, or a solution that can assist you speed up integrating passkeys. Learn more in Server-side libraries. Existing (legacy) authentication mechanisms

When you support passkeys on your existing service, the transition from the older authentication mechanism such as passwords to passkeys won't happen in a day. We know you'd be inclined to eliminate the weaker authentication method as soon as possible, but that may cause user confusion or leave some users behind. We recommend keeping the existing authentication method for the time being.

There are a few reasons:

Revisit your existing authentication mechanism

While passkeys make your authentication simpler and safer, keeping the old mechanisms is like leaving a hole. We recommend revisiting and improving your existing authentication mechanisms.

Passwords

Creating strong passwords and managing them for each website are challenging tasks for users. Using a password manager built into the system or a standalone one is strongly recommended. By making a small tweak to the sign-in form, websites and apps can make a huge difference to its security and the sign-in experience. Checkout how you can make those changes:

Two-factor authentication

Though using a password manager helps users with handling passwords, not all users use them. Asking for an additional credential called one-time password (OTP) is a common practice to protect such users. OTPs are typically provided through an email, an SMS message or an authenticator app such as Google Authenticator. Because OTPs are usually a short text generated dynamically valid only for a limited time-range, it lowers the probability of account hijacks. These methods are not as robust as a passkey, but much better than leaving users with just a password.

If you select SMS as a way to deliver an OTP, checkout the following best practices to streamline the user experience to enter the OTP.

Identity federation

Identity federation is another option to let users sign in securely and easily. With identity federation, websites and apps can let users sign in using the user's identity from a third-party identity provider. For example, Sign in with Google delivers great conversions for developers, and users find it easier and preferable to password based authentication. Identity federation is complementary to passkeys. It's great for signing up as the website or app can gain basic profile information of the user in a single step, while passkeys are great for streamlining reauthentication.

Keep in mind, after Chrome phases out third-party cookies in 2024, some identity federation systems may be impacted depending on how they're built. To mitigate the impact, a new browser API called Federated Credential Management API (FedCM in short) is being developed. If you run an identity provider, check out the details and see if you'd need to adopt FedCM.

"Magic Links"

Magic link sign-in is an authentication method where a service delivers a login link over an email so that the user can click it to authenticate themselves. While this helps users sign in without remembering a password, switching between the browser/app and the email client will be a friction. Also, as the authentication mechanism relies on the email, the email provider's weak security can put user's accounts at risk.

Learning resources Web

To integrate passkeys onto your website, use the Web Authentication API (WebAuthn). To learn more, checkout the following resources:

Android

To integrate passkeys onto your Android app, use the Credential Manager library. To learn more, checkout the following resources:

UX

Learn passkeys user experience recommendations:

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-06-23 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-23 UTC."],[[["This guide provides resources for developers to integrate passkeys into their websites and Android applications for secure, passwordless authentication."],["Passkeys utilize WebAuthn API on the web and Credential Manager library on Android for registration and authentication."],["Server-side integration is crucial for passkey functionality, involving handling key parameters, verification, and secure storage."],["While transitioning to passkeys, maintaining existing authentication mechanisms is recommended for user compatibility and a smoother experience."],["This page also provides resources for improving legacy authentication methods like passwords, two-factor authentication, and identity federation, along with UX recommendations for passkeys."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4