- 
                Notifications
    
You must be signed in to change notification settings  - Fork 137
 
Add WebAuthn version support in configuration, Fixes AB#3385532 #2393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
| 
           ❌ Work item link check failed. Description does not contain AB#{ID}. Click here to Learn more.  | 
    
| 
           ✅ Work item link check complete. Description contains link AB#3385532 to an Azure Boards work item.  | 
    
| 
           ❌ Work item link check failed. Description does not contain AB#{ID}. Click here to Learn more.  | 
    
| 
           ✅ Work item link check complete. Description contains link AB#3385532 to an Azure Boards work item.  | 
    
…er addition logic
…rences in related classes
There was a problem hiding this 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_versionconfiguration 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 | 
        
          
                msal/src/main/java/com/microsoft/identity/client/internal/CommandParametersAdapter.java
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                msal/src/main/java/com/microsoft/identity/client/internal/CommandParametersAdapter.java
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                testapps/testapp/src/main/java/com/microsoft/identity/client/testapp/MsalWrapper.java
              
                Outdated
          
            Show resolved
            Hide resolved
        
      …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>
…CommandParametersAdapter
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:
webauthn_versionfield toPublicClientApplicationConfiguration, including serialization, accessors, and merge logic, allowing apps to define and retrieve the WebAuthn version from configuration files.CommandParametersAdapterto include passkey protocol headers in authentication requests when WebAuthn is enabled, supported (Android 9+), Authorization agent is Webview and the version is 1.1.MsalWrapper) to append themsaoauth2=trueparameter 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.