Skip to content

W-23192897: surface DPoP runtime state in developer info screen - #2963

Merged
wmathurin merged 6 commits into
forcedotcom:dpopfrom
wmathurin:dpop-phase6b
Jul 13, 2026
Merged

W-23192897: surface DPoP runtime state in developer info screen#2963
wmathurin merged 6 commits into
forcedotcom:dpopfrom
wmathurin:dpop-phase6b

Conversation

@wmathurin

Copy link
Copy Markdown
Contributor

Summary

  • Adds jwkThumbprint(ECPublicKey) to DPoPProofBuilder — RFC 7638 JWK SHA-256 thumbprint of the EC P-256 public key
  • Extends DevSupportInfo.parseUserInfoSection() with three new rows in the Current User section:
    • OAuth Token Type — always shown ("Bearer" or "DPoP")
    • DPoP Nonce — DPoP sessions only; shows cached nonce or "None"
    • DPoP Key Thumbprint — DPoP sessions only; RFC 7638 thumbprint matching the server-bound jkt claim, or "Unavailable" if key cannot be loaded
  • Updates createFromLegacyDevInfos() to include the three new keys for backward-compat path
  • Adds docs/dev-info-screen.md — reference doc for the developer info screen architecture

Test plan

  • Non-DPoP session: OAuth Token Type = "Bearer", no DPoP Nonce or Thumbprint rows
  • DPoP session: all three rows present; nonce shows "None" when cache empty; thumbprint shows "Unavailable" if key load fails
  • jwkThumbprint() produces a valid 43-char base64url string
  • All 21 DevSupportInfoTest tests pass (verified locally on emulator)
  • Lint clean

…in dev info screen

Add OAuth Token Type row (always) and DPoP Nonce + DPoP Key Thumbprint rows
(DPoP sessions only) to the Current User section of DevInfoActivity.
Add jwkThumbprint() to DPoPProofBuilder for RFC 7638 JWK SHA-256 thumbprint.
Add docs/dev-info-screen.md reference doc for the developer info screen.
…tials

Add DPoP Key Thumbprint row to UserCredentialsView (DPoP section) and
expose it via DpopInfo in the page object. validateOAuthValues() now
asserts the thumbprint is a valid 43-char base64url string, matching
the RFC 7638 JWK thumbprint that DevSupportInfo already computes.
@sfdctaka

Copy link
Copy Markdown
Contributor

We should remove W-XXXX from the title.

@sfdctaka sfdctaka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@wmathurin
wmathurin merged commit d2cf9b9 into forcedotcom:dpop Jul 13, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants