mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 16:49:47 +03:00
[Feature Request]: Possibility to allow SAML and LDAP-Login as AUTH_METHODE at the same time #2478
Closed
opened 2026-02-05 04:16:51 +03:00 by OVERLORD
·
4 comments
No Branch/Tag Specified
development
l10n_development
further_theme_development
release
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
🔨 Feature Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#2478
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 @dringewald on GitHub (Nov 6, 2021).
Describe the feature you'd like
It would be useful to use both SAML and LDAP at the same time as "AUTH_METHODE".
This is especially useful for people who have an Active Directory and Active Directory Federation Services (AD FS) on windows in use.
It could look like this: AUTH_METHODE="ldap|saml2".
If a user already has an account created via LDAP, the account should be mapped with the existing one when using SAML. This is only possible if the provided attribute (for example the email) is the same with the existing mail in bookstack. For now a login with SAML is blocked if the user was previously created via LDAP.
Describe the benefits this feature would bring to BookStack users
Furthermore, you would have a fallback without having to switch back to the other one, should something go wrong, for example because one of the services has failed. This would give redundancy to the whole login. In addition, there are rarely use cases that only allow one of the two methods. When using an AD FS system, there is always an Active Directory behind it. It is therefore easy to fall back if something goes wrong.
Additional context
No response
@ssddanbrown commented on GitHub (Nov 6, 2021):
Hi @Holt31, Thanks for your request.
Can you describe your scenario a little further? Are you intending to use SAML2 and LDAP against the same AFDS system? Is there a particular challenge you're facing that this would solve? You mention redundancy but that seems a bit overkill to be worth our implementation, especially if using the same ADFS system since we're only talking redundancy at a very specific level if so.
Just trying to understand the problem rather than this specific idea of implementation since adding such a feature would raise a bunch of additional scenarios and problems to consider & address.
This is not true if usage of the external_authentication_id is aligned. If they're both using email address a switchover should be fairly painless.
@dringewald commented on GitHub (Nov 7, 2021):
Thanks for the fast reply.
I have actually 2 scenarious.
Scenario 1 (which I'm using now):
I have my Domain Controller and my AD FS-Server on seperate servers. (technically the AD FS-Server is a replicating domain controller) Since both Domain Controllers are replicating with each other, they both have the same data. One of them doesn't have an open LDAP-Port, so I can't use LDAP on this one. I'm using AD FS for that. Now I want to have LDAP as Fallback, when AD FS isn't working.
Scenario 2 (which I like to implement):
I have an MS 365 Account, where you can use SAML for authentication (Azure Active Directory).
I'm using an onpremise Active Directory to sync Users into the Azure AD.
I want to use the SAML from Azure AD and the LDAP of the Onpremise at the same time..
So basically both scenarios are actually the same thing.
Thanks for mentioning it.
I tested it again and noticed that I used the "sAMAccountName" attribute for the external ID when using LDAP and I'm using the "userPrincipalName" attribute for the authentication against AD FS. Since these two differ it makes sense, that a login wasn't possible before. When I changed the ldap attribute to userPrincipalName the login worked.
@userbradley commented on GitHub (Dec 10, 2021):
Bumping this too, as I'm using jumpcloud for LDAP, and also office 365 through jumpcloud for SSO.
@ssddanbrown commented on GitHub (Nov 8, 2022):
I'm closing this to collapse this into #2715, which I've made into the auth-method abstract issue for combining auth options.