-
Notifications
You must be signed in to change notification settings - Fork 28
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
add feature flag for external user management #58
Conversation
96b5a86
to
88d2a1e
Compare
88d2a1e
to
f28eca9
Compare
If I see it correctly this "assumes" a specific configuration at the OIDC provider (e.g. there needs to be a client called When using this together with a keycloak instance (using
any idea how I could debug this? |
Right, same applies also for the other clients (iOS / Android / Desktop). You can have import them from these files https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_keycloak/config/keycloak/clients. For the iOS / Android / Desktop clients, you could also use Dynamic Client Registration instead.
I didn't run this PR on my own so far. But I'll do this week. I think there are still some config options missing. |
Ah ok, please reach out if can support testing this PR. |
7af0f3a
to
9ea4888
Compare
fd81428
to
70fddad
Compare
88e2d0d
to
5da6e0d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Needs to wait for ocis beta 6 being released though
Needs beta.6 first for owncloud/ocis#4346 |
Is this at a point where I could test it with Keycloak? If I read owncloud/ocis#4346 this is only for client support on iOS/Android, right? Webbrowser should work? |
I just merged this PR and bumped the oCIS version in #74. So you can just use the chart from master. Please note that you also need an LDAP server for this setup. Do you plan to use Redhat IDM / SSO for the testing? Right, Android / iOS / Desktop clients need the wellknown information of the IDP on the oCIS domain, too. Web has a different discovery. |
I wanted to test with upstream Keycloak but yeah. What do I need the LDAP server for? |
We are using OIDC for authentication but for querying users (and groups) we always use LDAP (eg. for sharing a file with another person). Even in the single binary case ( For the oCIS Helm Chart we decided to not run the builtin LDAP as an option because it is not designed to scale beyond ~200 user and it only supports a single instance (no HA). One more feature, the Helm Chart does not support yet, is autoprovisioning the user when the user is only in the OIDC provider but not in the LDAP server. oCIS will then store the user to the LDAP on the first login. This is the relevant config section for the OIDC and LDAP settings: ocis-charts/charts/ocis/values.yaml Lines 86 to 163 in f058a75
|
Ok, so if I want to add an external OIDC Server (Keycloak) I also have to run my own LDAP? Is there any specific design decision, why oCIS does not use the userinfo endpoint? |
Unfortunately this Helm Chart currently only aims at large installations. Therefore there is no option to include the builtin LDAP server when using an external OIDC IDP. For at-home instances I also would not run all oCIS services in different pods (as this Chart does). For single / double digit user numbers a simpler setup should be sufficient and use less resources. I have a draft of a simpler installation but it would need some adaptions to publish it in this repo. In this setup it also would be quite easy to add an external OIDC IDP.
We're using the userinfo endpoint (or at least the user information from the access token, if it's a JWT). But we also need a query-able database of ALL users in the oCIS instance. That is not possible with the userinfo endpoint. And instead of building our own database we went for LDAP because in large installation the users will be stored in LDAP anyways. For the "auto provisioning" use case (user exists only in the OIDC IDP) we take the userinfo from the IDP and write the user into a LDAP on the first login. |
I added a ticket for a simple deployment that also allows a flexible way to use an external IDP: #77 |
ok, so when moving towards a home-based setup I prob. should move to the k8s-at-home owncloud-ocis chart. AFAIK it starts the monolithic server. Thank you very much. If I can support you in any way regarding OIDC integration or an operator based deployment, please reach out |
fixes #5
depends on owncloud/ocis#4346