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

Consider deprecating Base64Url #546

Closed
joegoldman2 opened this issue Sep 16, 2024 · 9 comments
Closed

Consider deprecating Base64Url #546

joegoldman2 opened this issue Sep 16, 2024 · 9 comments
Milestone

Comments

@joegoldman2
Copy link
Contributor

.NET 9 adds support for Base64 Url (dotnet/runtime#1658). It's also compatible with .NET Standard 2.0. The class Base64Url should probably be deprecated in favor of the built-in support in the BCL.

@iamcarbon
Copy link
Contributor

Agreed. We should consider taking a dependency on Microsoft.Bcl.Memory for .NET8.0, and dropping our custom Base64Url reader once it is released in November. The new implementation is vectorized and fuzzed.

We may also want to consider taking a dependency on System.Text.Json 9.0 (which cross-targets .NET8.0) after RTM to utilize the built in JsonStringEnumConverter.

@abergs
Copy link
Collaborator

abergs commented Oct 4, 2024

Seems like a good idea.

@iamcarbon
Copy link
Contributor

It looks like we may also get this dependency pulled in from our depedency on IdentityModel soon, by default.

https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/2817/files

@abergs
Copy link
Collaborator

abergs commented Oct 29, 2024

As .NET9 will soon ship, I don't think we want to remove Base64Url and force every consumer to upgrade to .net9 as .net 8 is still lts.

Perhaps this would be a good v5 issue?

@abergs abergs added this to the Version 5 milestone Oct 29, 2024
@joegoldman2
Copy link
Contributor Author

There is no need to force consumers to migrate to .NET 9. Microsoft.Bcl.Memory is compatible with .NET Standard 2.0.

@abergs
Copy link
Collaborator

abergs commented Oct 29, 2024

So you mean if we upgrade Microsoft.Bcl.Memory we can remove our Base64Url implementation?

@joegoldman2
Copy link
Contributor Author

Yes, we just need to upgrade it and use the provided Base64Url implementation. There is no need to update the target framework of Fido2 lib.

@abergs
Copy link
Collaborator

abergs commented Oct 29, 2024

Sounds good! 👍

@iamcarbon
Copy link
Contributor

Implemented in #575

@abergs abergs modified the milestones: Version 5, Version 4 Nov 12, 2024
@abergs abergs closed this as completed Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants