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

Storage Health Check: Check for presence of an OIDC IdP #17884

Merged
merged 3 commits into from
Feb 11, 2025

Conversation

mereghost
Copy link
Contributor

@mereghost mereghost commented Feb 10, 2025

Related WP: OP#61339

This will check the presence of an OIDC IdP only if the oauth_sso auth method is selected.

@mereghost mereghost self-assigned this Feb 10, 2025
@mereghost mereghost force-pushed the impl/61339-check-oidc-in-use branch from f4b6258 to 190b207 Compare February 10, 2025 17:59
@mereghost mereghost changed the title Check for an OIDC IdP when audience is set. Storage Health Check: Check for presence of an OIDC IdP Feb 10, 2025
nextcloud_audience { "nextcloud" }
nextcloud_audience { nil }

trait :oidc_enabled do
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Naming nit: I'd repeat the sso terminology here, especially since the authentication method does not try to imply OIDC

Suggested change
trait :oidc_enabled do
trait :sso_authentication do
Suggested change
trait :oidc_enabled do
trait :sso_enabled do

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmmmmm... I'm starting to wonder if going with SSO won't be a mistake as we have other SSO solutions supported on OpenProject, like SAML.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be fair, that's why it was called oauth2_sso and not sso alone :D

I see what you mean, but right now it sounds as likely to me that adding OIDC to names is a mistake, as it could be that dropping OIDC is a mistake.

I.e. the implementation could develop to be super duper tightly coupled to OIDC and we'd need to do something entirely different for SAML. Or the implementation develops in a direction where the storage just cares about the thing being "some kind of SSO", but which kind exactly is not important.

Right now we don't know, so we only guess which name will be better. I am mostly advocating for having the term "SSO" included, because the distinguishing factor between the solutions we have today, is that one is SSO and the other is not SSO. Whether or not we qualify the term "SSO" with OIDC, I have less strong feelings about, because we don't know how that will develop.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

audience and authentication_method are already pretty tied to OIDC as is implementation wise and we have no plans in the short/medium term of supporting anything else than OIDC for this.

We could even extend this trait to supply a OpenIDConnect::Provider (which I think I'll need down the line).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oidc_sso_enabled?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. I'll change it on the next PR unless this CI run fails. XD

@mereghost mereghost force-pushed the impl/61339-check-oidc-in-use branch from eff8d7b to f5d7776 Compare February 11, 2025 10:06
@mereghost mereghost merged commit bccdbae into dev Feb 11, 2025
12 checks passed
@mereghost mereghost deleted the impl/61339-check-oidc-in-use branch February 11, 2025 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants