Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Introduce ADR #1042
Introduce ADR #1042
Changes from 1 commit
7fa0bf1
cca8cb4
972ef91
da525ae
f6ac7b7
e864db8
1ddfb7c
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
What about the
two LDAP servers
scenario, where we use the customers LDAP for internal users and another one (GLAuth?) for guest accounts? Might even make sense to have the web ui for disabling guest users...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.
GLauth already has a primary and fallback backend. The chain can easily be extended to multiple backends. login and single user properties can even be made in parallel. The only challenge is merging results when searching recipients in multiple ldap servers, but since 1000 results are not helpful for users we can limit the page size to 10 per ldap. Furthermore, multiple ldap servers indicate larger deployments where user lookup via ldap is restricted to exact matches, eg. the full email. In these cases merging becomes trivial again.
We may want to cache these queries anyway in order not flood ldap servers with lookup requests.
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.
We decided to make multiple LDAP servers possible through an additional service which works as a connector to multiple LDAP servers and exposes their user information via the GraphAPI
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.
I would summarize the two comments to "GLAuth abstracts multiple LDAP servers that might exist into one that looks like one to the consumer. A GraphAPI will be provided to interact with GLAuth to manage guest users (for that, at least one of the LDAPs must be read/write)".
Thoughts:
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.
reworked the list
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.
I thought the web ui should move to GLAuth? Embedding it in oC Web could be done by wrapping it into an oC Web extension (need to check if that's possible. I don't want an iframe solution).
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.
We may not be able to theme the glauth web ui as we like it. Also the tight integration we have in the current implementation is awesome / slick. We need to embed glauth anyway. The first step would be to treat the current accounts service as the drop in ldap server with a web ui to manage users. It would mean merging ocis-accounts and ocis-glauth.
The next step would be to add the graph api to glauth. then we can build a web ui that uses glauth to manage accounts.
This accounts-management service would be a web ui to manage accounts via the graph api. It could be part of glauth or we use an embedded, tightly integrated version for ocis-web that follows our theme.
The final step would be a graphapi implementation that is backed by a real ldap server. I'd put that into glauth because it already has several backends. Having a graphapi <-> ldap proxy would fit GLauth I think.
But in order to have a truly embeddable web ui I think glauth shoul start with the graph api. It can then have a web ui or projects that want to embed it can build the ui in the way they want. The kopano guys @fbartels @longsleep might want to use react to embed it into konnectd.
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.
added as a bullet point, because I agree: keep the ui in GLAuth
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.
I don't get this one 😅 we don't want to bypass LDAP admins. Thought that the web ui for user management is only supposed to be used in case we have GLAuth as LDAP replacement.
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.
The Basic idea is the following: We don't need write access via the LDAP protocol when a IDM would have a second interaction point via the GraphAPI.
We can imagine quite a lot of scenarios, where e.g. the provisoining of guest users in the IDM would happen via a public http api endpoint.
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.
ah but we learned that for small scale deployments some admins actually prefer a simple ui ... 🤷
If the web ui is self contained, having it in glauth should be fine. I don't want to build the next keycloak ...
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.
I thought that even the super-duper LDAP is covered by a thin layer of GLAuth?
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.
Why would a customer give us write access via GraphAPI when they don't want to give us write access via LDAP? 🤔 I thought about the web ui as an option to provide easy to use read/write access for the GLAuth
tiny setup
use case. As in the 5 people company that doesn't have an actual LDAP, the family who want to handle their photos and the like. Why would we want to build an accounts web ui for Siemens? They have their own tools for user management.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.
GLAuth cannot write to an ldap server, it can only write to other backends.
Reworded the list