TL;DR: Passwordless login still depends on careful identity translation between systems, not just a better login method, according to Descope. Its tutorial shows how passkeys can be added to a Supabase app by replacing the existing auth flow, generating a Supabase-compatible JWT from a Descope session, and preserving Row Level Security with minimal schema changes.
At a glance
What this is: This is a developer tutorial on adding passkeys to a Supabase app through Descope, with the key finding that secure passwordless login still requires precise JWT and RLS handling.
Why it matters: It matters because IAM teams need to see where human authentication improvements intersect with downstream access control, token semantics, and policy enforcement.
👉 Read Descope's passkey integration guide for Supabase authentication
Context
Passkeys are a human authentication method, but they do not remove the identity plumbing behind application access. In this Supabase pattern, the challenge is not just replacing passwords with biometrics, it is keeping authentication, token issuance, and Row Level Security aligned so the database still knows who is allowed to do what.
For identity practitioners, the lesson is that passwordless adoption affects both the front end and the access layer. When a new identity source emits a different subject format, downstream policies, claims mapping, and session handling must be updated or the access model becomes brittle.
Key questions
Q: How should security teams adopt passkeys for infrastructure access?
A: Start with the highest-risk interactive accounts, especially administrators who are exposed to phishing and push fatigue. Then tie enrolment to device trust, define recovery requirements, and keep terminal and break-glass workflows under separate policy. Passkeys improve authentication strength, but they only reduce risk when the surrounding identity process is controlled end to end.
Q: Why do passkeys improve security but still require IAM governance?
A: Passkeys improve security by reducing phishing and secret theft, but IAM governance is still required because identity risk moves to enrollment, device trust, and recovery. If those processes are weak, the organisation can still suffer account takeover through the path around the passkey rather than through the passkey itself.
Q: What breaks when the identity provider and database use different user ID formats?
A: Policies often break at the claim-to-schema boundary. If the upstream identity uses one format and the database expects another, row-level rules may deny valid sessions or allow access to the wrong records. The fix is not cosmetic translation, it is a coordinated update to claims, schema, and authorization logic.
Q: How should teams govern passkey recovery and device replacement?
A: Treat recovery as a controlled identity lifecycle event, not an informal support task. Require proof of identity, define when a lost device invalidates a prior passkey, and ensure the old credential cannot be reused after re-enrollment. Otherwise the strongest login method can still leave stale access behind.
Technical breakdown
Passkeys in a Supabase authentication flow
Passkeys replace shared secrets with device-bound authentication, usually via biometrics or hardware-backed keys. In this pattern, the application first authenticates the user through a passkey flow, then exchanges that identity for an application-specific session token that Supabase can understand. The important mechanism is not the biometric itself, but the trustworthy transfer of identity from one authentication domain to another without weakening the session model.
Practical implication: treat passkeys as the start of the identity flow, not the end of the access control design.
JWT translation for database authorisation
Supabase expects a signed JWT with a valid subject claim that its authorization layer can evaluate. The tutorial’s flow uses a backend route to sign a token from the authenticated Descope session, which preserves the user identity for downstream database checks. This is a common integration pattern when one identity provider authenticates the user and another system enforces access at the data layer.
Practical implication: map claims deliberately, or your database policies will be enforcing on the wrong identity shape.
Row Level Security after authentication changes
Row Level Security remains the control that decides which rows a session can see or modify, but it depends on stable identity attributes. If the token subject format changes, or if the database schema assumes UUIDs when the upstream system issues string-based user IDs, policies can fail silently or deny legitimate access. Authentication modernisation only works when claims, schema, and policy logic evolve together.
Practical implication: review RLS policies and subject formats together whenever you change authentication methods.
NHI Mgmt Group analysis
Passwordless login does not simplify identity governance, it shifts where the complexity lives. Passkeys remove password reuse and phishing exposure, but the control problem moves into token exchange, claim integrity, and policy consistency. That means the IAM team still owns the trust boundary, only now it sits between the authenticator and the database layer. The practical conclusion is that passwordless adoption is an identity architecture decision, not just a UX upgrade.
JWT claim mapping is the real control point in hybrid auth integrations. When one system authenticates the user and another authorizes database access, the subject claim becomes the bridge of trust. If that bridge is weak, delayed, or mismatched to the schema, access control becomes fragile. Practitioners should treat claim translation as part of the governance model, not as a convenience layer.
Row Level Security only stays effective when the upstream identity format is governed. The post shows that Descope user IDs may be string-based, while Supabase implementations often assume different identity conventions. That creates a schema and policy alignment problem, not a passkey problem. The conclusion for IAM and IGA teams is that authentication migrations must include downstream entitlement logic, not stop at login.
Passkeys are a human identity pattern, but they still expose lifecycle questions that identity teams already know well. Enrollment, device binding, recovery, and session revocation all become part of the control surface once passwords disappear. That makes this a human IAM programme issue as much as an application engineering issue. The practitioner takeaway is to govern passkeys with the same discipline used for any other access credential lifecycle.
What this signals
Passkey adoption will keep accelerating, but the programme risk is shifting toward claim governance and lifecycle handling rather than authentication strength alone. Teams that do not update downstream authorization models will end up with modern login and legacy access control in the same stack.
Identity translation debt: when a new authenticator changes the shape of the subject claim, the hidden cost shows up in RLS policies, API authorization, and recovery workflows. Security and IAM teams should expect more of these integration seams as passwordless becomes the default.
For practitioners, the next control question is not whether passkeys work, but whether the rest of the identity stack can consume them cleanly. That means planning for schema changes, token validation, and revocation paths before rollout, not after user support starts to spike.
For practitioners
- Align subject claims with downstream policy logic Verify that the identity claim used in the session token matches the database and policy model before changing authentication methods. If the upstream provider issues string-based user IDs, update schema assumptions and RLS rules together.
- Review token issuance immediately after login Generate the application token only after the passkey session is validated and the identity attributes needed by the database are present. Avoid ad hoc client-side shortcuts that bypass the trusted backend exchange.
- Test row-level policies against new identity formats Run access tests for read, write, and forbidden paths using the post-passkey token shape so policy failures appear before rollout. Focus on whether the subject claim still resolves correctly in every protected table.
- Document enrollment and recovery for passkey users Define how users add a new device, recover access after device loss, and revoke an old passkey when the identity lifecycle changes. Those processes determine whether passwordless access stays governable over time.
Key takeaways
- Passkeys improve human authentication, but they do not eliminate the need for careful token and policy governance.
- The critical control point in this pattern is claim translation between the identity provider and the database authorization layer.
- Teams modernising login flows should update recovery, revocation, and row-level policies at the same time.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST SP 800-63, NIST CSF 2.0, NIST Zero Trust (SP 800-207) and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST SP 800-63 | SP 800-63B | Passkeys are a human authentication method covered by digital identity guidance. |
| NIST CSF 2.0 | PR.AC-1 | Authentication and access control are central to this passkey integration. |
| NIST Zero Trust (SP 800-207) | The flow separates authentication from authorization in a zero trust pattern. | |
| NIST SP 800-53 Rev 5 | IA-2 | Authentication assurance is the core control problem in passwordless login. |
Align passkey enrollment and login assurance with IA-2 requirements for strong user authentication.
Key terms
- Passkey: A passkey is a passwordless credential based on public key cryptography. A private key stays on the user’s device, while a public key is stored by the service. During login, the device signs a challenge after local unlock, which reduces phishing and eliminates shared secret reuse.
- Subject Claim: The subject claim is the identity string inside an OIDC token that tells the relying party who the token represents. In CI/CD federation, that string often encodes repository or namespace data, so its security depends on the upstream naming model being stable, non-reusable, and actively governed.
- Row-Level Security: Row-level security is a database control that restricts which rows a session can read or modify based on policy. For multi-tenant apps, it is valuable because it pushes tenant enforcement below application code, reducing the chance that a forgotten filter exposes another organisation's data.
- Token Exchange: Token exchange is an OAuth pattern that swaps one credential or token for another with narrower scope or different trust context. In NHI governance, it is useful when a workload must cross boundaries without carrying broad, reusable privileges into downstream systems.
What's in the full article
Descope's full blog post covers the implementation detail this post intentionally leaves at the governance level:
- The exact Next.js code pattern for exchanging a Descope session for a Supabase-compatible JWT
- The backend route example used to sign the token and pass the user identity through to Supabase
- The flow editor steps for adding passkeys to the Descope login journey
- The schema and policy adjustments needed when Supabase user IDs are not UUIDs
👉 Descope's full post shows the code path, flow setup, and RLS adjustments behind the pattern.
Deepen your knowledge
NHI governance, human identity, and identity lifecycle management are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are building or maturing an IAM programme, it is worth exploring.
Published by the NHIMG editorial team on August 16, 2026.
NHI Mgmt Group — the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org