Skip to content

Conversation

@p3dr0rv
Copy link
Collaborator

@p3dr0rv p3dr0rv commented Oct 23, 2025

AB#3385532
https://identitydivision.visualstudio.com/DevEx/_git/AuthLibrariesApiReview/pullrequest/20357

Add WebAuthn Version Support and Passkey Headers

This PR adds support for handling the WebAuthn protocol version in the app configuration and authentication flow for broker-less scenarios. also enables testing on WEBVIEW PPE MSA

Changes:

  • Added a new webauthn_version field to PublicClientApplicationConfiguration, including serialization, accessors, and merge logic, allowing apps to define and retrieve the WebAuthn version from configuration files.
  • Updated CommandParametersAdapter to include passkey protocol headers in authentication requests when WebAuthn is enabled, supported (Android 9+), Authorization agent is Webview and the version is 1.1.
  • Updated the test app (MsalWrapper) to append the msaoauth2=true parameter to query strings when running in the pre-production environment with WebAuthn 1.1 enabled, enabling proper testing of WebAuthn flows.

Related PR: AzureAD/microsoft-authentication-library-common-for-android#2769

Test
1- create account https://signup.live-int.com/?lic=1
2 - Install msal test app, (ensure no broker is installed)
3 - change config to MSA_WEBVIEW_PPE
4- Click acquire token and complete auth flow (username, password)
5 - User is presented with the option to register a passkey, complete the flow, and you will end up with a token and a passkey.
6 - try again with no user selected and use the passkey.

@github-actions
Copy link

❌ Work item link check failed. Description does not contain AB#{ID}.

Click here to Learn more.

@p3dr0rv p3dr0rv changed the title Add WebAuthn support for version in configuration Add WebAuthn version support in configuration Oct 23, 2025
@github-actions
Copy link

✅ Work item link check complete. Description contains link AB#3385532 to an Azure Boards work item.

@github-actions github-actions bot changed the title Add WebAuthn version support in configuration Add WebAuthn version support in configuration, Fixes AB#3385532 Oct 23, 2025
@github-actions
Copy link

❌ Work item link check failed. Description does not contain AB#{ID}.

Click here to Learn more.

@github-actions
Copy link

✅ Work item link check complete. Description contains link AB#3385532 to an Azure Boards work item.

@p3dr0rv p3dr0rv marked this pull request as ready for review October 23, 2025 20:51
@p3dr0rv p3dr0rv requested review from a team as code owners October 23, 2025 20:51
Copilot AI review requested due to automatic review settings October 23, 2025 20:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds WebAuthn protocol version configuration support to enable testing of WebAuthn/passkey flows in broker-less scenarios on PPE MSA environments. The primary objective is to allow apps to specify WebAuthn version 1.1 in their configuration and have the SDK automatically include the appropriate passkey protocol headers when conditions are met.

Key changes:

  • Added webauthn_version configuration field with serialization, accessors, and merge logic
  • Implemented conditional passkey protocol header injection based on WebAuthn version, Android version, and authorization agent
  • Enhanced test app to append MSA OAuth2 query parameter for PPE WebAuthn testing when using version 1.1

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
msal_config_webview_ppe_msa.json Adds webauthn_version 1.1 to test configuration for PPE MSA WebView testing
MsalWrapper.java Conditionally appends msaoauth2=true query parameter for PPE WebAuthn 1.1 testing
CommandParametersAdapter.java Implements passkey header logic with version checks and helper methods
PublicClientApplicationConfiguration.java Adds webauthn_version field with serialization and configuration merge support
versions.gradle Adds webkit dependency version declaration
common Updates subproject commit reference
changelog Documents the WebAuthn version support feature

p3dr0rv and others added 4 commits October 23, 2025 13:53
…andParametersAdapter.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…estapp/MsalWrapper.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…andParametersAdapter.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants