This is a simple Xamarin Forms app showcasing how to use MSAL to authenticate users via Azure Active Directory B2C, and access a Web API with the resulting tokens.
Fixed a regression in MSAL 4.61.1 where Proof of Possession (POP) extensibility API was made available for all the confidential client scenarios caused runtime exception for users using higher level SDKs with explicit dependency on MSAL. See 4789
Measurement of duration in milliseconds is now consistent across all platforms. See 4784
4.61.1
New Features
Enabled Proof of Possession (POP) extensibility API for all confidential client requests, enhancing security measures for confidential clients. See 4757
Introduced a public API that identifies and returns the current Azure environment for Managed Identity. See 4751
Deprecated the WithClientAssertion(string) method. Developers are encouraged to use the overload with Func instead, which ensures the return of a non-expired assertion, potentially including a Federated Credential. See 4775
Adding support for Non-GUID Client IDs with AuthorityType.Generic See #4686
Bug Fixes
Improved logic to handle ADFS tokens that include a manually added tid claim, preventing exceptions. See 4608
Improved build-time validation to ensure that applications using the WithBroker(true) method will fail at build time if the application targets net6-windows and uses an old broker API. This change prevents runtime failures and facilitates early detection of issues. See 4768
Fixed token acquisition failure in broker based flow when authority is common. See 4696
4.61.0
New Features
Removed support for deprecated frameworks, Xamarin.Android 12 and Xamarin.iOS 10. MSAL.NET packages will no longer include monoandroid12.0 and xamarinios10 binaries. Existing applications should migrate to modern frameworks like .NET MAUI. See 4715 and Announcing the Upcoming Deprecation of MSAL.NET for Xamarin and UWP.
Removed Windows Forms dependency from Microsoft.Identity.Client, which will no longer include net6.0-windows7.0 binary. Existing desktop applications targeting net6.0-windows should reference Microsoft.Identity.Client.Broker when using interactive authentication with Windows Broker and call WithBroker(BrokerOptions); or reference Microsoft.Identity.Client.Desktop when authenticating with browser and call WithWindowsEmbeddedBrowserSupport(). There are no changes to the usage of the system browser. See 4468.
Re-enabled the use of SHA 256 and PSS padding to create client assertions. See 4695.
Bug Fixes
Public methods in Kerberos TicketCacheWriter and TicketCacheReader were corrected to be internal. Public API in KerberosSupplementalTicketManager should be used. See #4726.
4.60.3
Bug Fixes
Updated Android webview attribute.
4.60.2
Bug Fixes
When OnBeforeTokenRequest extensibility API is used, MSAL now correctly uses the user-provided OnBeforeTokenRequestData.RequestUri to set the token request endpoint. See 4701.
4.60.1
Addressed an issue where attempts to acquire a token via certificate authentication resulted in a Microsoft.Identity.Client.MsalServiceException (Error code: AADSTS5002730), signaling an "Invalid JWT token. Unsupported key for the signing algorithm." This was due to a known bug in Microsoft Entra ID (Azure AD) that affects the handling of JWT tokens signed with certain algorithms, specifically SHA2 and PSS. See 4690
4.60.0
New Features
AAD client assertions are computed using SHA 256 and PSS padding. See 4428
CorrelationId is available in MsalException. See 4187
Open telemetry records telemetry for proactive token refresh background process. See 4492
MSAL.Net now supports generic authorities with query parameters. See 4631
Fixed a regression in MSAL 4.61.1 where the Proof of Possession (POP) extensibility API, when made available for all confidential client scenarios, caused a runtime exception for users of higher-level SDKs that have an explicit dependency on MSAL. See [Issue #4789](AzureAD/microsoft-authentication-library-for-dotnet#4789).
Enabled Proof of Possession (POP) extensibility API for all confidential client requests, enhancing security measures for confidential clients. See 4757
Introduced a public API that identifies and returns the current Azure environment for Managed Identity. See 4751
Deprecated the WithClientAssertion(string) method. Developers are encouraged to use the overload with Func instead, which ensures the return of a non-expired assertion, potentially including a Federated Credential. See 4775
Adding support for Non-GUID Client IDs with AuthorityType.Generic See #4686
Bug Fixes
Improved logic to handle ADFS tokens that include a manually added tid claim, preventing exceptions. See 4608
Improved build-time validation to ensure that applications using the WithBroker(true) method will fail at build time if the application targets net6-windows and uses an old broker API. This change prevents runtime failures and facilitates early detection of issues. See 4768
Fixed token acquisition failure in broker based flow when authority is common. See 4696
4.61.0
New Features
Removed support for deprecated frameworks, Xamarin.Android 12 and Xamarin.iOS 10. MSAL.NET packages will no longer include monoandroid12.0 and xamarinios10 binaries. Existing applications should migrate to modern frameworks like .NET MAUI. See 4715 and Announcing the Upcoming Deprecation of MSAL.NET for Xamarin and UWP.
Removed Windows Forms dependency from Microsoft.Identity.Client, which will no longer include net6.0-windows7.0 binary. Existing desktop applications targeting net6.0-windows should reference Microsoft.Identity.Client.Broker when using interactive authentication with Windows Broker and call WithBroker(BrokerOptions); or reference Microsoft.Identity.Client.Desktop when authenticating with browser and call WithWindowsEmbeddedBrowserSupport(). There are no changes to the usage of the system browser. See 4468.
Re-enabled the use of SHA 256 and PSS padding to create client assertions. See 4695.
Bug Fixes
Public methods in Kerberos TicketCacheWriter and TicketCacheReader were corrected to be internal. Public API in KerberosSupplementalTicketManager should be used. See #4726.
4.60.3
Bug Fixes
Updated Android webview attribute.
4.60.2
Bug Fixes
When OnBeforeTokenRequest extensibility API is used, MSAL now correctly uses the user-provided OnBeforeTokenRequestData.RequestUri to set the token request endpoint. See 4701.
4.60.1
Bug Fixes
Resolved an issue where MSAL attempts to acquire a token via certificate authentication using SHA2 and PSS resulting in a `MsalServiceException' (Error code: AADSTS5002730). See 4690.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Azure-Samples/active-directory-b2c-xamarin-native/network/alerts).
Bumps Microsoft.Identity.Client from 4.49.1 to 4.61.3.
Release notes
Sourced from Microsoft.Identity.Client's releases.
... (truncated)
Changelog
Sourced from Microsoft.Identity.Client's changelog.
... (truncated)
Commits
08675d0
Update CHANGELOG.md (#4800)88df640
Fix for #4791 - don't use WSTrust for ROPC except for AAD authorities (#4794)3f5f9df
Update8a6fe48
Update AzureArcManagedIdentitySource.cs61a89f7
Update extfddb2c4
Update as discussedd2201cf
Changelog for 4.61.2 (#4795)449251d
Required feature update5c6f22f
Fix TypeLoadException (#4792)239d9d6
MeasureDurationResult incorrect when running in linux (#4785)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show