Vercel has introduced passkeys to its developer console. This blog posts analyzes the technical implications and what this means for frontend developers.
Vincent
Created: February 2, 2024
Updated: May 8, 2024
We believe that passkeys will make the Internet a safer place. Thats why we aim to provide a systematic analysis of the passkey processes of different companies as they move towards a password-free world.
1. Introduction: Passkeys at Vercel
2. Why Passkeys on Vercel Mark a Milestone
3. Technical Analysis of Vercel Passkeys
In modern web development, Vercel is an indispensable global player, particularly for empowering frontend developers with the ability to handle DevOps and backend tasks seamlessly. Renowned for the creation of Next.js - one of todays most influential web frameworks - Vercel emphasizes simplicity, great developer experience (DX), and robust security throughout their product offering. As an innovator in the industry, Vercel not only defines trends and sets new standards but also remains a constant subject of discussion among developers (especially in the Twitter/X and Reddit communities).
One of their latest endeavors that underscores their leadership role in modern and secure web development practices is Vercels rollout of passkeys in their developer console. This blog post delves into why this initiative is a milestone for the web development industry at large, exploring its technical and strategic implications, and projecting the implications of passkeys on Vercel.
We analyzed the following processes of authentication: Sign-up, passkey creation and login.
Vercels employs a passwordless signup process, requiring an email link verification followed by phone number confirmation via SMS OTP. After these two factors are verified, the user has successfully created an account. However, passkeys do not play a role in the signup process (yet). Even, the promotion of passkeys isnt upfront; users need to navigate to the "Account Settings > Authentication" section to find the passkey option.
After going into the right settings section, the passkey creation can be triggered. Users are guided through the creation process, after which they can name their passkey - suggestions for the name are based on the provided user agent, such as "Chrome on Windows" or Safari on iOS. Creating additional passkeys is prevented by the correctly set of excludeCredentials, ensuring that each device / platform can only hold one passkey avoiding user confusion.
Click on the Passkey button in the Authentication Settings:
Clicking on the "Continue" button initiates the passkey flow. After successful creation, you can name your passkey in the account settings. A suggestion is given based on the user agent (e.g., Chrome on Windows).
Simultaneously, you will receive an email notification confirming the successful creation of your passkey
Interestingly, the WebAuthn User Name (and WebAuthn User Display Name) which is used inside the passkey is a transformed version of the email address and not the email address itself for what reason so ever, e.g. for vincent.delitz@corbado.com, the following username was set:
Creating an additional passkey is not possible, as the excludeCredentials property in the PublicKeyCredentialCreationOptions are correctly configured.
PublicKeyCredentialCreationOptions:
You can edit the name of the passkey:
The login flows works via a dedicated Login with Passkey button which offers usernameless functionality but does not support Conditional UI.
A notable issue is the failure of cross-device authentication when using a device stored in the Chrome profile (e.g., from Windows to Android or macOS to Android), attributed to the apparent omission of userHandle in certain scenarios. This hiccup, however, is bypassed when users opt for QR code scanning, indicating areas for refinement in Vercels passkey implementation.
Assertion (with missing userHandle):
We already opened up a bug report for this issue.
Become part of our Passkeys Community for updates and support.
JoinAs we look to the future, integrating Conditional UI and expanding the use of passkeys in Vercel- hosted apps marks a significant shift in how we think about authentication. This change points to a new era where user convenience and security are more closely aligned.
One interesting possibility on the horizon is the idea of Vercel enabling passkey-only sign-ups right from the get-go, eliminating the need for traditional email links or SMS OTPs for verification. This could not only make the sign-up process smoother but also cut down on costs, especially by moving away from SMS OTPs, which can get pricey.
Equally important will be the reaction from the Next.js team and how NextAuth.js adjusts to passkeys in general. Their stance on pushing forward with passkey authentication will be key in shaping how authentication evolves in web development.
This isn't just about the tech; it's about making the web easier and safer for everyone. Whether you're coding up a storm, managing digital products, or just signing into your favorite sites, the move towards simpler, more secure sign- ins could change a lot. With Vercel leading the charge, we're looking at a future where getting into your online spaces is both easy and secure, setting a new standard for what we all expect from our online experiences.
Table of Contents
Enjoyed this read?
🤝 Join our Passkeys Community
Share passkeys implementation tips and get support to free the world from passwords.
🚀 Subscribe to Substack
Get the latest news, strategies, and insights about passkeys sent straight to your inbox.
We provide UI components, SDKs and guides to help you add passkeys to your app in <1 hour
Start for free
Recent Articles
Vercel Passkeys: Deploying Passkeys in Next.js App on Vercel
Nicolai - September 19, 2023
Heroku Passkeys: Deploying Passkeys in Next.js Apps on Heroku
Nicolai - September 1, 2023