mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-16 19:06:45 +03:00
OIDC Group-Sync with iServ #5192
Closed
opened 2026-02-05 09:47:15 +03:00 by OVERLORD
·
7 comments
No Branch/Tag Specified
development
l10n_development
release
v25-12
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐕 Support
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#5192
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @demlak on GitHub (Feb 21, 2025).
Attempted Debugging
Searched GitHub Issues
Describe the Scenario
after fixing the same issue like here https://github.com/BookStackApp/BookStack/issues/4451 by providing key + endpoints, i now try to sync groups with our iServ-OIDC login.. but i can't match the groups..
Any hints on
OIDC_GROUPS_CLAIMwith this JSON fromOIDC_DUMP_USER_DETAILS?i tried Rolename
schuelerand also External Auth ID "10006", but when an already logged-in user loggs out and login again, this user is not in the group.thx in advance for helping
Exact BookStack Version
v24.12.1
Log Content
No response
Hosting Environment
Bookstack in an LXC installed via helper-scripts.com on a proxmox.
@ssddanbrown commented on GitHub (Feb 21, 2025):
Hi @demlak,
That format of groups isn't directly supported. Do you have any control in the "iserv" system over how the groups are provided?
Otherwise, there may be a way to manipulate the existing format on the BookStack side to make things work but it'd need some custom code, hence asking about possibilities on the auth side first.
@demlak commented on GitHub (Feb 21, 2025):
Thx for your fast reply!
with jq i would parse it like this:
.groups.[].actThe parts i can configure are the "Grant-types" of "Authorization Code", "Implicit", "Password", "Client Credentials" and "Refresh Token",
I am also able to choose the Scopes: email, groups, openid, profile, roles, uuid (and two system-specific)
I am not able to go deeper, like changing code or so.. but the support behind "iServ" is sometimes open for suggestions.. so, if you have detailed hints, i can provide them to the support.. maybe they will have an open ear.
iServ is wide spreaded in germany.. it is a school-managing software, used in nearly 6000 schools.. so maybe it's a good thing to support it? =)
@ssddanbrown commented on GitHub (Feb 21, 2025):
I'm not keen on supporting additional formats based on specific platforms, I'd prefer to keep to the simple array of group names which most auth systems provide.
When I get a moment at my dev machine I'll look to put together a logical theme system hack to convert the format.
@demlak commented on GitHub (Feb 21, 2025):
I don't know the syntax, that can be used in
OIDC_GROUPS_CLAIM.. but in bash i am able to use this call with jq to parse the group-names:cat json.txt | jq -r '.groups.[].act'Maybe it is possible to do similar at
OIDC_GROUPS_CLAIM?@ssddanbrown commented on GitHub (Feb 21, 2025):
Here's a logical theme system hack which should reformat the groups to just be the
idvalues:You'll need to have this as your
functions.phpfile within an active theme folder following our logical theme system guidance.Note: I haven't tested this, just built to what should hopefully work for your scenario.
@demlak commented on GitHub (Feb 21, 2025):
Thx a lot.. it seem to work!
just a little change on my side:
$group['id'];->$group['act'];@ssddanbrown commented on GitHub (Feb 21, 2025):
Good to hear that worked! Will therefore close this off.