GrabOcean NguyenProblem & solution
Embracing passwordless authentication with Grab’s Passkey
Summary
Grab’s Passkey adds passwordless authentication to its app to address phishing, keystroke-logging, brute-force, and other security threats associated with passwords plus the friction of OTP-based login. Built on the FIDO standard and implemented through WebAuthn, the flow uses a backend, frontend, and authenticator: the authenticator creates and stores a passkey, while Grab stores the public key and metadata. Registration uses a server-generated challenge and parameters including rp.id, user information, resident-key requirements, and supported public-key algorithms; sign-in returns a credential whose signature is verified against the stored public key. Google Password Manager and iCloud Keychain can sync passkeys across supported devices, and users authenticate with their screen lock rather than entering a password or waiting for an OTP. The implementation is described as faster, smoother, phishing-resistant login with potential savings on third-party authentication and messaging costs, while Grab plans to evaluate web login expansion through adoption, feedback, and usage data.
Context
Traditional password-based authentication is exposed to phishing, keystroke logging, and brute-force attacks, while passwordless alternatives can provide a more secure and user-friendly verification process. Grab also sought to reduce login friction associated with OTPs and conventional credential management.
Approach / What changed
Grab implemented Passkey using the FIDO standard and WebAuthn. The frontend communicates with the authenticator and backend, the authenticator creates and stores the passkey using the user’s screen lock, and the backend stores the public-key credential and metadata. During sign-in, the backend verifies the returned signature against the stored public key.
Takeaways
Passkeys keep secrets within the user’s authenticator rather than storing them in Grab’s database; Grab stores the public key and related metadata for future verification.
Passkey registration uses WebAuthn parameters such as a server-generated challenge, rp.id, user identifiers, resident-key requirements, and excludeCredentials to help prevent duplicate device registration.
During authentication, the backend looks up the credential ID and verifies the returned signature against the stored public key; rp.id must match the value used during registration.
Source and freshness
- Source
- engineering.grab.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.