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

User management API so you are able to use user provisioning for automatic user updates #2701

Closed
Mynster9361 opened this issue Apr 21, 2021 · 3 comments

Comments

@Mynster9361
Copy link

API Endpoint or Feature

API to access edit and maintain users to be able to use user provisioning and administer it locally from example Azure or other external services that can handle authentication to bookstack through user management API with provisioning.

I am almost certain that Azure is not the only service that provides this feature i could imagine something like Okta or other SSO providers also support this.

Use-Case

To be able to integrate bookstack even further with bookstack.
Currently you can bind groups from bookstack to groups in Azure and make them sync that way and remove users from groups.
But what happens when a user leaves and you delete them from Azure.
The user will still remain in Bookstack until you delete it manually and move the ownership.
(Maybe the content ownership should/could be moved to a default group instead)

Additional Context

I have found some more information on what it does and how user provisioning works for Azure since that is what i use with my bookstack instance
https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/user-provisioning
https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/how-provisioning-works

ssddanbrown added a commit that referenced this issue Feb 3, 2022
- Updated routes to use new format.
- Changed how hidden fields are exposed to be more flexible to different
  use-cases.
- Updated properties available on read/list results.
- Started adding testing coverage.
- Removed old unused UserRepo 'getAllUsers' function.

Related to #2701, Progression of #2734
@ssddanbrown ssddanbrown mentioned this issue Feb 3, 2022
7 tasks
@ssddanbrown ssddanbrown added this to the Next Feature Release milestone Feb 4, 2022
@ssddanbrown
Copy link
Member

The work in #3238 has now been merged which adds a CRUD user actions to our REST API which allows many task to be automated. Therefore I will close this off.

This issue hinted as SCIM but I didn't know if SCIM was the fundamental requirement of this request. The new API endpoints should allow some level of "SCIM adapter" to be created externally if desired.

I wouldn't really want to implement SCIM directly into BookStack at this stage. I've reached the limit of authentication mechanisms I'm willing to support right now since they are difficult to fully understand and tricky to support for the user-base. I don't want to be spending any more of my own time:

  • Reading through multiple RFCs
  • Signing up to auth system trial accounts
  • Trying to understand where Microsoft have made things awkward and where differences may lie between cloud and on-prem functionality.
  • Supporting once implemented and attempting to understand what configuration is needed vs what is actually just some strange expectations due to an arcane environment.

Simply put, it's not fun work, and it provides no benefit to the vast majority of users while having a disproportionate negative affect on maintenance and my mental well-being. I'd be happy to reconsider if an enterprise account was willing to work with me while also willing to invest 💵 to make it worth my time.

To pre-emptively answer the question "Would you be willing to accept a PR for SCIM"? No, as it does not solve the above. I would still have to understand the standards & requirements while having the responsibility of stability & maintenance. A PR would only really cover the most fun part, writing the code.

@Draidel
Copy link

Draidel commented Mar 8, 2022

Hi! When do you think the User management API will be available for production?

@ssddanbrown
Copy link
Member

Hi @Draidel,
This is already in release. It was part of the v22.02 release:
https://www.bookstackapp.com/blog/bookstack-release-v22-02/#user-management-api-endpoints

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

No branches or pull requests

3 participants