V5.9.3, Async vs Sync AuthProviders

I updated to to the 5.9.3 preview and broke a ton of stuff in my code relating to Auth Providers. For my Basic and Credentials auth providers, it appears I was able to easily fix things by inheriting them off of BasicAuthProviderSync and CredentialsAuthProviderSync, so thank you for providing these.

I do not see an OAuthProviderSync, however, and I have a custom Auth provider that would need to inherit off of that without having to rewrite that. Were you planning on including this class also?

(as an FYI - seems like a pretty big breaking change for a point release)

I’ve restored the OAuthProviderSync and OAuth2ProviderSync base classes back in the latest v5.9.3 on MyGet. You’ll need to clear your NuGet packages cache to download the latest version.

Note that all releases ending in and odd number, e.g. v5.9.3 are pre-release versions on MyGet. 2 weeks after a major release is dedicated to fixing issues but beyond that the pre-release versions on MyGet are the working progress for the next major release. If you want a stable version stay on the NuGet packages, e.g. v5.9.2.

I’ll always try to avoid breaking changes where possible however in this case it couldn’t be avoided in order to make Async Auth Providers to be the default that everyone benefit from after upgrading. Most Async APIs are additive, but it’s not possible for base classes to support both Async & Sync Auth providers as Async APIs always need a Task* response.

With all major breaking changes there’ll be announcement in the forum with details as done in:

The recommendation is to move to use the new async APIs which if you’re inheriting on will have an *Async suffix and an optional CancellationToken token=default parameter which you can ignore if you’re just calling it (i.e. instead of inheriting it). Otherwise you can add the *Sync suffix to your base class to inherit from the existing sync Auth Providers.