Commit 2596e2d
Fixes
[AB#3611726](https://identitydivision.visualstudio.com/fac9d424-53d2-45c0-91b5-ef6ba7a6bf26/_workitems/edit/3611726)
tracks the MSAL-side default-config update for the customer-reported
Edge browser issue.
## Customer-reported issue
Resolves [microsoft-authentication-library-for-android issue
2414](#2414):
when Microsoft Edge is the user''s default browser, MSAL rejects it with
`Browser: com.microsoft.emmx signature hash not match` and falls back to
WebView. Confirmed by multiple customers in the issue thread and
validated by a working `auth_config.json` workaround.
## Root cause
Edge ships its production APK with **two** signing certificates (APK
Signature Scheme v3 lineage). Once host apps started targeting API 28+,
`PackageManager` began returning all signers, and the strict-equality
check used by browser selection rejected Edge because the safelist only
carried one of the two hashes.
## Changes
1. Add the second Edge signing certificate hash to
`msal_default_config.json` so the built-in default safelist trusts both
legacy and post-rotation Edge installs.
2. Mirror the same change in `auth_config.template.json` so customers
copy-pasting the template aren''t broken.
```json
"browser_signature_hashes": [
"Ivy-Rk6ztai_IudfbyUrSHugzRqAtHWslFvHT0PTvLMsEKLUIgv7ZZbVxygWy_M5mOPpfjZrd3vOx3t-cA6fVQ==",
"KxJRZ8RFW-6BQa-e4xNE7UmeGU6BWIR_6dzgaAOQWh0rWVENxsXU5TjnWuTR9GqOFbCKMilXKIu7as6VJRjuSw=="
]
```
## Companion PR
This relies on the matcher fix in common at
AzureAD/microsoft-authentication-library-common-for-android#3126
(work item 3611725) without it, the safelist update alone still fails
because the in-library `matches()` uses strict `Set.equals` rather than
non-empty intersection.
## Risk
**Very low.** Pure data update adds an additional trusted signer for an
existing trusted package. No code paths change.
## Note on the local AB#ID workflow
The repo''s `.github/workflows/validate-pr-ab-id.yml` "Get AB ID" step
uses a regex without an `AB#` prefix and without `head -n 1`, so it
fails when a PR body references multiple GitHub issues/PRs by number. To
work around that here, every other reference uses full URLs or plain
text. Worth a follow-up to sync this workflow with the version in the
common repo (which uses `(?<=AB#)\d+ | head -n 1`).
---------
Co-authored-by: shjameel <shjameel@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent d003b0b commit 2596e2d
2 files changed
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
| 131 | + | |
| 132 | + | |
132 | 133 | | |
133 | 134 | | |
134 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
0 commit comments