Easiest to set up IAM solution? (OIDC, OAuth2, SSO, etc.)

https://feddit.org/post/27575572

Easiest to set up IAM solution? (OIDC, OAuth2, SSO, etc.) - feddit.org

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?

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

pocket-id.org

Pocket ID

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?).

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

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:
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.

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.
@[email protected] 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
Client Examples

Pocket ID - A simple OIDC provider that allows users to authenticate with their passkeys to your services.

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
Authelia

Authelia is an open-source authentication and authorization server and portal fulfilling the identity and access management (IAM) role of information security in providing multi-factor authentication and single sign-on (SSO) for your applications via a web portal. Authelia is an OpenID Connect 1.0 Provider which is OpenID Certified™ allowing comprehensive integrations, and acts as a companion for common reverse proxies.

Authelia
GitHub - lldap/lldap: Light LDAP implementation

Light LDAP implementation. Contribute to lldap/lldap development by creating an account on GitHub.

GitHub
I quite lldap too. I wish there was an easy way to glop oauth ontop of it.
Void auth, or kanidm look like easier alternatives.

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

How to Run Keycloak in a Podman Container

Learn how to run Keycloak in a Podman container for identity and access management with realms, users, and SSO configuration.

OneUptime | One Complete Observability platform.
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!
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.
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.

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…

Keycloak Essentials: OpenID Connect

Need to quickly set up a Keycloak server for OIDC? Overwhelmed? Don’t fret. Let’s simplify to get you started pronto !

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

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

GitHub - kanidm/kanidm: Kanidm: A simple, secure, and fast identity management platform

Kanidm: A simple, secure, and fast identity management platform - kanidm/kanidm

GitHub
I tried several and I found casdoor pretty painless.
I already have Forgejo installed and found out it does basic Oauth2. I didn’t have to do anything. It just worked out of the box.
What do you mean? You can set up other services to use your Forgejo accounts?
OAuth2 provider | Forgejo – Beyond coding. We forge.

I just setup authentik in podman quadlet and got a lot of my services setup with it. Their documentation is actually very good and thorough. It covers a ton of services with easy to follow instructions.

I’ve gone with Authentik for my homelab, and sure there is some learning to do, but it is fairly simple once it’s setup, and in the end it is not that bad.

If I were to choose over, I’d god with KeyCloak as it seems like that’s almost exclusively what’s used in the marked ~ and thus would be good to know in depth