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

Replace OpenID Connect backend library #313

Open
michael-doubez opened this issue May 3, 2024 · 2 comments
Open

Replace OpenID Connect backend library #313

michael-doubez opened this issue May 3, 2024 · 2 comments
Assignees

Comments

@michael-doubez
Copy link
Contributor

michael-doubez commented May 3, 2024

What feature do you want to see added?

The backend library currently used is Google OAuth Client library which brings many issues:

  • the library is in maintenance mode
  • the code is primarily design to work for google API - features are hard to implement or checks prevents usage of library (see Login not working if alg field is missing in jwks_uri response #304 )
  • the library is pulling dependencies which are not needed or desirable for Jenkins plugin - in particular some transistive dependencies are hard to specify right

Moving to a more generic library would allow restoring advanced checked bypassed in #308.

Spring security seems to have a decent support of openid connect and is more in line with Jenkins' dependencies.

@jtnord
Copy link
Member

jtnord commented Jul 17, 2024

the library is pulling dependencies which are not needed or desirable for Jenkins plugin - in particular some transistive dependencies are hard to specify right

spring security-oauth when I looked quickly also pulls in some undersirables (at least in terms of FIPS support). Currently the google library is in a better shape in this regard.

Anyway irrespective I would leave a note about using spring-security-oauth2-client the version ties to the version of spring which ties to the version of Jenkins (although Jenkins does not ship the oauth-client jar) . Thus an upgrade of Jenkins does bring the possibility that it could break the plugin. It may never (or rarely) happen due to backward compatibility of the Spring project, but if the client uses internal APIs then this becomes more likely.

@jtnord
Copy link
Member

jtnord commented Aug 6, 2024

I lack permissions on this repo to assign it to myself, but I am actively working on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants