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

No support for OAuth2 authentication #6

Open
AlexGoris-KasparSolutions opened this issue Jan 24, 2022 · 1 comment
Open

No support for OAuth2 authentication #6

AlexGoris-KasparSolutions opened this issue Jan 24, 2022 · 1 comment

Comments

@AlexGoris-KasparSolutions

I noticed this library supports only basic username/password authentication.
Although JSReport supports OAuth2 authentication (link), this SDK/client does not allow to interface with a JSReport instance which is configured that way.

I tought I could quickly make a PR for this, but the current dependency on .NET Standard 2.0 and .NET Framework 4.5 prohibit me from using IdentityModel.AspNetCore, which greatly simplifies implementing OAuth2 client credentials grant flow using HttpClient.

I see 2 options:

  • Upgrade dependency to at least .NET core 3.1 (although I would suggest immediately going to .NET 6, which is the current LTS release), and use IdentityModel.AspNetCore to easily implement Oauth2 client credentials grant flow
  • Remove custom initialization of HttpClient insize ReportingService class, and obtain a HttpClient instance through DI. This would allow us to pre-configure a HttpClient for the ReportingService class, which would in turn allow is to add a token management handler using IdentityModel.AspNetCore in our external code.

I prefer the first option, if you agree I can work on a PR for this.

@pofider
Copy link
Contributor

pofider commented Jan 24, 2022

Hi, thank you for your activity. I'm definitely interested.

I'm not sure if I want to already limit the reach and remove the .netstadnard 2.0 and net 45 targets. There are likely still apps that use this client and don't want to update.

However please prototype the solution with IdentityModel.AspNetCore and .net 6 and we will then decide how we can release it.

We can decide to really stop supporting the older targets, ship your part in extra package, or we can multitarget this package with compile conditions

#if NET5_0
   new IdentityModel.AspNetCore.AccessTokenRequestSynchronization()
#endif   

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

2 participants