mirror of
https://github.com/binwiederhier/ntfy.git
synced 2026-05-09 08:26:00 +02:00
[GH-ISSUE #296] add LDAP auth support #231
Labels
No labels
ai-generated
android-app
android-app
android-app
🪲 bug
build
build
dependencies
docs
enhancement
enhancement
🔥 HOT
in-progress 🏃
ios
prio:low
prio:low
pull-request
question
🔒 security
server
server
unified-push
web-app
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ntfy#231
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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 @prabirshrestha on GitHub (Jun 1, 2022).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/296
I would like to use LDAP auth for all my apps that I host as I can centrally manage users/passwords and groups for my family. Changing password in one place can change password everywhere. This also allows me to enforce certain password policy centrally.
I have found authelia's configuration to be the best that allows granular configuration. https://www.authelia.com/docs/configuration/authentication/ldap.html
This should be tackled in multiple steps.
@binwiederhier commented on GitHub (Jun 1, 2022):
I like the idea of integrating with LDAP or other auth systems, but when we discussed in #19 (please read!), there was no clear winner of technologies. Everybody uses different things and wants different things. If I wanted to please everyone I'd do nothing but integrate auth systems.
For this precise reason, I hate dealing with auth. You put a ton of work into it and in the end, you make 1/5 people happy, and the others just say "why didn't you do X instead".
So I won't be doing this in the near future, but I'm happy to accept pull requests (provided the design has been discussed with me first). 👍
@prabirshrestha commented on GitHub (Jun 2, 2022):
Thanks for sharing the link. I don't think it is good to have n number of auth providers although some standard ones could be ok.
You could use OIDC for auth on most of the servers. Here are links to some of the popular website configurations. (You will need to view source or use curl for some of these as browsers may show blank screen while rendering json).
Here are some reasons why I chose LDAP:
There are two distinct pieces that should be tackled separately - Authentication and ACLS.
Authentication
(not familiar with go so adding psuedo code to exiting code).
I wouldn't worry about groups now as this could be manually added by the cli. But having at least
authenticatego via ldap would be great.While this allows on-demand sync and could work for large number of ldap user, it does sprinkle the code.
The other option would be to have a background job that syncs with an ldap server every X mins and update the sqlite table. But need to verify if servers return password hash.
@binwiederhier commented on GitHub (Jun 3, 2022):
I don't think I want to add LDAP support right now, but that doesn't mean it'll forever stay this way. I've got my hands full with the iOS app and the 50 other tickets, but I'll leave this open for a while.
You are of course free to fork and add LDAP support to your fork. If it's good code, I'll definitely consider merging it.
@NekoLuka commented on GitHub (Aug 19, 2024):
I was reading through #812 and came across a message of @wunter8
I think that LDAP would be a great addition here to possibly create the user inside NTFY when it doesn't exist, preventing errors like this.
Furthermore, implementing it in a way that it logs users in by checking their credentials against the LDAP server would also not break any currently existing authentication ways for NTFY (basic auth and tokens).
What is the opinion about this approach?
@vic1707 commented on GitHub (Sep 11, 2025):
+1