sorted by: new top controversial old
[-] kevincox@lemmy.ml 1 points 1 week ago* (last edited 6 days ago)

Ah ok. You aren't doing auth. I don't understand how this is relevant.

[-] kevincox@lemmy.ml 1 points 1 week ago

Are you doing auth in the reverse proxy for Jellyfin? Do you use Chromecast or any non-web interface? If so I'm very interested how you got it to work.

[-] kevincox@lemmy.ml 1 points 1 week ago

The concern is that it would be nice if the UNIX users and LDAP is automatically in sync and managed from a version controlled source. I guess the answer is just build up a static LDAP database from my existing configs. It would be nice to have one authoritative system on the server but I guess as long as they are both built from one source of truth it shouldn't be an issue.

[-] kevincox@lemmy.ml 3 points 1 week ago

Yes, LDAP is a general tool. But many applications that I am interested in using it for user information. That is what I want to use it for. I'm not really interested in storing other data.

I think you are sort of missing the goal of the question. I have a bunch of self-hosted services like Jellyfin, qBittorrent, PhotoPrism, Metabase ... I want to avoid having to configure users in each one individually. I am considering LDAP because it is supported by many of these services. I'm not concerned about synchronizing UNIX users, I already have that solved. (If I need to move those to LDAP as well that can be considered, but isn't a goal).

[-] kevincox@lemmy.ml 1 points 1 week ago

I do use a reverse proxy but for various reasons you can't just block off some apps. For example if you want to play Jellyfin on a Chromecast or similar, or PhotoPrism if you want to use sharing links. Unfortunately these systems are designed around the built-in auth and you can't just slap a proxy in front.

I do use nginx with basic with in front of services where I can. I trust nginx much more than 10 different services with varying quality levels. But unfortunately not all services play well.

[-] kevincox@lemmy.ml 1 points 1 week ago

How are you configuring this? I checked for Jellyfin and their are third-party plugins which don't look too mature, but none of them seem to work with apps. qBittorrent doesn't support much (actually I may be able to put reverse-proxy auth in front... I'll look into that) and Metabase locks SSO behind a premium subscription.

IDK why but it does seem that LDAP is much more widely supported. Or am I missing some method to make it work

[-] kevincox@lemmy.ml 3 points 1 week ago

But the problem is that most self-hosted apps don't integrate well with these. For example qBittorrent, Jellyfin, Metabase and many other common self-hosted apps.

[-] kevincox@lemmy.ml 1 points 1 week ago* (last edited 1 week ago)

NixOS makes it very easy to declaratively configure servers. For example the users config to manage UNIX users: https://nixos.org/manual/nixos/stable/options#opt-users.users

[-] kevincox@lemmy.ml 3 points 1 week ago

Yet another service to maintain. If the server is crashing you can't log in, so you need backup UNIX users anyways.

[-] kevincox@lemmy.ml 1 points 1 week ago
19

Is there any service that will speak LDAP but just respond with the local UNIX users?

Right now I have good management for local UNIX users but every service wants to do its own auth. This means that it is a pain of remembering different passwords, configuring passwords on setting up a new service and whatnot.

I noticed that a lot of services support LDAP auth, but I don't want to make my UNIX user accounts depend on LDAP for simplicity. So I was wondering if there was some sort of shim that will talk the LDAP protocol but just do authentication against the regular user database (PAM).

The closest I have seen is the services.openldap.declarativeContents NixOS option which I can probably use by transforming my regular UNIX settings into an LDAP config at build time, but I was wondering if there was anything simpler.

(Related note: I really wish that services would let you specify the user via HTTP header, then I could just manage auth at the reverse-proxy without worrying about bugs in the service)

[-] kevincox@lemmy.ml 6 points 2 weeks ago
HTTP/1.1 403 UNAUTHORIZED
{
  "error": {
    "status": "UNAUTHORIZED",
    "message": "Unauthorized access",
  },
}

I would separate the status from the HTTP status.

  1. The HTTP status is great for reasonable default behaviours from clients.
  2. The application status can be used for adding more specific errors. (Is the access token expired, is your account blocked, is your organization blocked)

Even if you don't need the status now, it is nice to have it if you want to add it in the future.

You can use a string or an integer as the status code, string is probably a bit more convenient for easy readability.

The message should be something that could be sent directly to the user, but mostly helpful to developers.

[-] kevincox@lemmy.ml 1 points 3 weeks ago* (last edited 3 weeks ago)

Yeah. I like old school tabs that were clearly attached to the thing that they switched. I definitely prefer the KDE UX here.

362
Haunted House (xkcd.com)
134
submitted 1 year ago by kevincox@lemmy.ml to c/linux@lemmy.ml

I'm reconsidering my terminal emulator and was curious what everyone was using.

2
submitted 1 year ago by kevincox@lemmy.ml to c/linux@lemmy.ml
view more: next ›

kevincox

joined 3 years ago
MODERATOR OF