Skip to content
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

[Feature Request] Remove Newtonsoft.Json from MSAL and use System.Text.Json #5056

Open
bgavrilMS opened this issue Jan 6, 2025 · 0 comments · May be fixed by #5057
Open

[Feature Request] Remove Newtonsoft.Json from MSAL and use System.Text.Json #5056

bgavrilMS opened this issue Jan 6, 2025 · 0 comments · May be fixed by #5057

Comments

@bgavrilMS
Copy link
Member

MSAL client type

Public, Confidential, Managed identity

Problem statement

With MSAL 4.66.0 and below, only the .NET version of MSAL uses System.Text.Json. The rest of the tfms use an internal copy of Newtonsoft.Json

This poses several problems:

  • Need to keep Newtonsoft.Json up to date, particularly when it has CVEs
  • If CVE occurs, MSAL is not notified because Newtonsoft is referenced by code not by project.
  • MSAL needs to dual-stack Newtonsoft and System.Text.Json, which complicates JSON operations and MSAL code
  • System.Text.Json + source generation is faster

Proposed solution

Reference System.Text.Json version 6.0.11 (this is what other Identity SDKs use).

Alternatives

No response

@bgavrilMS bgavrilMS added untriaged Do not delete. Needed for Automation needs attention Delete label after triage Feature Request confidential-client and removed untriaged Do not delete. Needed for Automation needs attention Delete label after triage labels Jan 6, 2025
@bgavrilMS bgavrilMS linked a pull request Jan 6, 2025 that will close this issue
4 tasks
@bgavrilMS bgavrilMS linked a pull request Jan 6, 2025 that will close this issue
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant