What are you folks using for self-hosted single sign-on?

I have my little LDAP server (lldap is fan-fucking-tastic – far easier to work with than OpenLDAP, which gave me nothing but heartburn). Some applications can be configured to work with it directly; several don’t have LDAP account support. And, ultimately, it’d be nice to have SSO - having the same password everywhere if great, but having to sign in only once (per day or week, or whatever) would be even nicer.

There are several self-hosted Auth* projects; which is the simplest and easiest? I’d really just like a basic start-it-up, point it at my LDAP server, and go. Fine grained ACLs and RBAC support is nice and all, but simplicity is trump in my case. Configuring these systems is, IME, a complex process, with no small numbers of dials to turn.

A half dozen users, and probably only two groups: admin, and everyone else. I don’t need fancy. OSS, of course. Is there any of these projects that fit that bill? It would seem to be a common use case for self-hosters, who don’t need all the bells and whistles of enterprise-grade solutions.

  • SK@hub.utsukta.org
    link
    fedilink
    arrow-up
    13
    ·
    16 days ago

    Authentik! i’ve been using it since over a year and its been a wonderful experience. supports many protocols and is updated regularly, as a beginner i didnt have difficulty setting it up, has decent documentation for integrations.

      • johntash@eviltoast.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 days ago

        I’d also recommend Authentik. It’s simpler than something like keycloak imo and works pretty well. They also have guides for quite a few self hosted services.

        I did have issues with it being slow at some point, but an update fixed it iirc.

  • mongoose@lemm.ee
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    15 days ago

    FreeIPA + Keycloak

    FreeIPA includes Kerberos so the SSO extends to Linux logins. Further, Keycloak supports Kerberos so if I’m logged in on an FreeIPA enrolled client Keycloak is transparent with no additional password. Thus, anything I can goes through Keycloak, otherwise manual LDAP to FreeIPA.

    FreeIPA also handles most of my homelab’s DNS and honestly was not too hard to setup. I’m running it in a Alma Linux VM on Proxmox so it will be supported for a while.

  • retro@infosec.pub
    link
    fedilink
    English
    arrow-up
    8
    ·
    15 days ago

    LLDAP + Authelia

    I actually moved from Authentik to Authelia because it was easier for me to add a couple of lines to a yaml than to navigate Authentik’s web ui. Authentik is more feature-full but I’m only running SSO for myself and a couple of others at home.

    • Yeah, that sounds ideal. I’d prefer editing a file than administering through a web page.

      I’m checking Authelia right now.

      SSO is part, but not all, of the picture. There’s also multi-system passwords, for things like sudo, and non-web service authentication; most of the stuff like OAUTH is really hacky to make work outside of web environments.

      I’ve considered Vault for some of the inter-service authentication, but there’s not broad support built into services and it’s yet another thing to mess with.

      LDAP forms a good base for most use cases, and so keeping it as the source of truth is important for me. And then, as few other layers on top to get SSO. Authelia is looking like the best solution.

  • node815@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    15 days ago

    Pocket id is my go to. I used to use Authentik, but it was overkill for us. Pocket ID is pretty simple to use and has a very nice interface to add your users and clients. Uncluttered and straight and to the point. Pocket ID doesn’t use UN/PW Combos. Instead, you use Passkeys as in webAuthn devices to log in, which IMHO is one of the better security paths.

    https://github.com/pocket-id/pocket-id

      • node815@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        14 days ago

        I have several services. Home Assistant is not one as it’s still a WIP for the person who’s developing a solution. It works, but I’m sort of holding off until I can test it more with the mobile app.

        https://github.com/christiaangoossens/hass-oidc-auth

        But, to answer your question: I log into Tailscale with it. I also have it connected to Proxmox and Portainer Additionally, I have it connected to Pomerium so I can log into my FreshTomato Router with a fingerprint :) I also have a self hosted PasteBin connected to it.

      • Wigglytuff@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 days ago

        Passkeys work on whatever platforms your passkey is compatible with. I store mine in my BitWarden vault which works on web/PC/mobile just fine.

        Pocket ID is an OpenID Connect provider (basically OAuth), so it depends on whichever apps you’re using having support for that.

        Home Assistant does not natively support OIDC, but there is a community project in active development which aims to add support.

        • This is where I get stuck. I’ve worked with OAuth before, and it is very web-centric. Maybe it’s possible to work around http connections, but everything I’ve read makes it clear that it was designed with web applications - and browsers - as the foundational concept.

          For example, I have a memory of trying to get two servers - neither of which had anything to do with the web - to authenticate, and to use OAuth I remember having to import an http library.

          It’s been an age, so I may not be remembering it correctly; but IIRC the OAuth flow is designed around web protocols.

      • node815@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        14 days ago

        I just tested my version of Firefox (Fresh from Play Store) and it worked without issues on my end to login to the server.

        The only browser I’m aware of which doesn’t support it is the Duck Duck Go Browser which is a shame. They don’t seem to care about enabling WebAuthn support.

        • Appoxo@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          14 days ago

          I am using a Pixel 7 Pro and disabled the Google Passwortmanager and set Bitwarden as my preferred manager.
          So either Google did something, Firefox can’t reach some ressource or I didnt configure something correctly.

  • Nibodhika@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 days ago

    I tried Authelia but couldn’t set it up, so I’ve been using Authentik and have been quite happy. The only downside is that I had to configure it using the GUI instead of with config files, which I think would have been a point for Authelia, but couldn’t get it to work properly.

  • roofuskit@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    16 days ago

    Just copied and pasted my comment from another recent post about Authelia.

    After recently trying Authelia I gave up and moved to Authentik. Very much appreciate the all in one functionality of it. The company even paid a YouTuber to make a bunch of useful step by step tutorials and they have been invaluable. They also have a number of SSO integration instructions for various software. I highly recommend giving it a try if you’re in the market for an easy enough self hosted SSO and proxy password system.

  • steventhedev@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    16 days ago

    Keycloak might seem a little daunting to start with, but is basically glue between your idp (ldap) and whatever apps need to authenticate.

    • Grunt4019@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      15 days ago

      My issue with keycloak is that the documentation is very poor as a beginner. It and almost any other guides online assume you already know things that you may not so I wasn’t able to get past that hurdle.

      • steventhedev@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 days ago

        Strongly agree. A guide for dead simple setups would be incredibly useful (e.g. gsuite as idp, oauth for a single app).

        It took me a few days to get that basic setup working, and a few days more to improve it. But once it was up, it was rock solid.

    • jaark@infosec.pub
      link
      fedilink
      English
      arrow-up
      1
      ·
      16 days ago

      Another for Keycloak. Though it is probably overkill for many people’s needs in here - it certainly is for mine! But it is what I have up and running and see no need to change to a simpler option.

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    16 days ago

    I use KaniDM and configured everything with OAuth2. That was the easiest and most straightforward I could find. But I don’t think they bothered implementing LDAP. Other platforms I tried are Authentik, Authelia, Keycloak, Zitadel… They’re all a bit heavier and have other/more features, but there wasn’t one I really fell in love with.

  • corsicanguppy@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    15 days ago

    Kerberos, you say? Single sign-on?

    Have you heard about the LDAP and Kerberos configured as part of setting up samba4ad?

    I accidentally enabled SSO SSH a few years back. My samba units aren’t on PIs but they could be. They’re just on tiny tiny VMs.

    • Don’t you threaten me with Kerberos. I used to have to deal with that crap decades ago; I disliked it then, and unless it’s gotten dramatically easier to work with, it’s not an option for me now.

      I hadn’t heard specifically about samba4ad, but Kerberos on LDAP (and, originally, I think, on OLAP) I’m familiar with.

      I like LDAP in concept, but after using OpenLDAP for a few years when my network evolved OpenLDAP evolved out of it. It may have been secure, but a more horribly, difficult to debug piece if software, I’ve rarely met. LLDAP has changed all that, and allowed me to start using LDAP again; it may be less capable, but OpenLDAP was overkill for home gamers. LLDAP is juuuust right.

      Accidentally enabling SSO sounds like a big fish tale. SSO of usually a PITA to configure and set up. Even commercial software offerings are byzantine.

  • irotsoma@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    1
    ·
    15 days ago

    Keycloak. Took me a bit to learn the basics, but it has been way easier to troubleshoot than Authentik and has more features. If you need something that mimics LDAP rather than syncing with an existing LDAP, then Authentik is pretty good. I don’t use LDAP, though.

      • irotsoma@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        15 days ago

        If you want to keep your LDAP as the source of truth, then Keycloak is also a very good option. I did that originally, but decided I only had a couple of things needing LDAP and that wasn’t worth keeping it around. Authentik was a good way to emulate an LDAP but with a different back end. But Keycloak is definitely my recommendation in your case.