Easiest to set up IAM solution? (OIDC, OAuth2, SSO, etc.)
from Lemmchen@feddit.org to selfhosted@lemmy.world on 24 Mar 23:06
https://feddit.org/post/27575572

I’ve just looked at some tutorials for Keycloak and Authentik and there’s definitely a very steep learning curve for these two solutions. I feel like I need something a lot simpler to be able to fully grasp the concept.

What is the easiest solution for beginners to implement Sigle-Sign-On for their selfhosted services?

#selfhosted

threaded - newest

Chaser@lemmy.zip on 24 Mar 23:15 next collapse

I like Pocket ID. It’s also very simple to set up and just works™

pocket-id.org

HybridSarcasm@lemmy.world on 24 Mar 23:21 next collapse

+1 for PocketID

Lemmchen@feddit.org on 24 Mar 23:24 next collapse

I’d love to use PocketID, but I fear my users aren’t really set up to use passkeys (they’re awesome!) and I assume they wouldn’t work on the Android TV Jellyfin client (does anybody have experience with that?).

Chaser@lemmy.zip on 24 Mar 23:27 collapse

That may be a problem, because Pocket ID works with Passkeys only. But you can also configure Emails, so your users can get one time login links.

Regarding Jellyfin: You can login on your phone using oidc. On the TV you can use Quick Connect then

Lemmchen@feddit.org on 24 Mar 23:35 next collapse

If they can use their phones to log in with passkeys this might just work, hmm. I’ll definitely take a closer look at that then. Thank you!

Edit: <img alt="" src="https://feddit.org/pictrs/image/6ee32114-99bc-4f80-8e72-5a70460c0869.png">
That’s very unfortunate as my users will basically only use the Android or Android TV app and not a browser. Maybe it’s not too bad if it is a one time thing, but it definitely makes it not ideal.

Chaser@lemmy.zip on 25 Mar 01:25 collapse

Jellyfin is actually the only self hosted service I don’t use LDAP or OIDC on purpose. Jellyfin is used only by me, my wife and sometimes a guest. So I just created the accounts by hand. I did so, because I want empty passwords there, so we can easily login. On the android tv app the login screen behaves like the Netflix profile selection screen, if the passwords are empty.

fonix232@fedia.io on 25 Mar 00:07 next collapse

Technically true, BUT.

PocketID does offer a fallback to a numeric code for clients that don't support passkeys (e.g. most embedded webviews on mobile).

For those, you simply need to navigate to the PocketID interface (for less technically adept people you can put it on the home screen on their phones), and click the big center button "Create" in the "Login Code" section (see attached screenshot).

Unfortunately these login codes are long lived (10-15 minute I believe?) and aren't OTP compatible so you can't just register it in a code provider to use whenever needed.

fonix232@fedia.io on 25 Mar 00:09 collapse

Also, Jellyfin supports LDAP backing, so OP could set up PocketID with an LLDAP backing server (minor extra complexity). Managing passwords will still be a chore as PocketID does not support neither setting them up nor syncing it with LDAP (it can read and authenticate LDAP users, not write them), but then Jellyfin can work without the OIDC plugin, just using the LDAP login approach.

Lemmchen@feddit.org on 25 Mar 00:20 collapse

Yeah, I’ve just realized that Jellyfin doesn’t have native OIDC support and requires a third-party plugin for that functionality. Maybe going all-in instead on a LDAP solution is the right way then? But I think most common selfhostable software only supports OIDC and not necessarily LDAP. I might be wrong though.

Chaser@lemmy.zip on 25 Mar 19:53 collapse

@Lemmchen@feddit.org I just wanted to add a new service as I saw this page. May be helpful for you too: pocket-id.org/docs/client-examples

badlotus@discuss.online on 24 Mar 23:21 next collapse

I use Authelia. I found it pretty easy to set up. They even provide guides with examples on how to integrate with other applications. For instance, I use Traefik for my reverse proxy: Traefik | Integration | Authelia

You can use a simple YAML file for your IdP or LDAP if you need more than a handful of users.

poVoq@slrpnk.net on 24 Mar 23:25 next collapse

github.com/lldap/lldap

Or maybe: gitlab.com/yaal/canaille

greyscale@lemmy.grey.ooo on 25 Mar 02:23 collapse

I quite lldap too. I wish there was an easy way to glop oauth ontop of it.

moonpiedumplings@programming.dev on 24 Mar 23:44 next collapse

Void auth, or kanidm look like easier alternatives.

in_my_honest_opinion@piefed.social on 24 Mar 23:50 next collapse

What’s the difficulty with keycloak? I just set this up last weekend

https://oneuptime.com/blog/post/2026-03-18-run-keycloak-podman-container/view

Lemmchen@feddit.org on 25 Mar 00:15 collapse

I think this might be on of those cases where the TUI is actually easier to understand than the WebUI. In the WebUI there are tons of terms I’ve never even heard before, but this actually looks kinda straight forward. Thanks!

in_my_honest_opinion@piefed.social on 25 Mar 00:24 collapse

Oh absolutely! I try to always start from cli and config files first personally so keycloak made a lot of sense to me. Good luck with whatever you choose.

chris@l.roofo.cc on 25 Mar 00:41 next collapse

I honestly didn’t find authentik very complicated. You can be up and running pretty much after starting it. I used docker to run it.

MrPnut@lemmy.world on 25 Mar 00:41 next collapse

Oidc is easier to implement than SAML. Oauth2 is for authorization (vs authentication). Its used along with Oidc, but Oidc is the authentication piece (the SSO part)

I say Oidc is easier to implement because it is json based (jwt token) vs SAML which uses XML, which is very verbose and has stuff like namespaces and xsd’s which can make XML a pain to work with.

I’d suggest you stick to keycloak and set up Oidc. This is a good tutorial medium.com/…/keycloak-essentials-openid-connect-c…

Edit: take a look at authentik too. I’ve always used keycloak but authentik looks interesting

pinball_wizard@lemmy.zip on 25 Mar 02:42 next collapse

.htaccess files are pretty simple to set up, if not hosting anything too sensitive.

stratself@lemdro.id on 25 Mar 03:38 next collapse

Protocol-wise, OIDC is generally the most supported out there. LDAP too, to an extent.

Software wise, I find Kanidm quite simple to set up (basically just one container). It’s mostly managed via the terminal though, and lacks some eyecandy. But some of the examples in its docs should be easy to follow and get you familiar with mapping scopes/groups between Kanidm and services.

Authelia is okay too

northernlights@lemmy.today on 25 Mar 19:23 collapse

I tried several and I found casdoor pretty painless.