dang, i some how accidentally deleted my post, i hope you got a copy in an email laurent, if so please repost here ... let's revisit this topic

I'll try to recreate a bit of my email here. OIDC is super prevalent at this time in history. Whenever I go to deploy a new app into my environment I look for how to configure OIDC.

Right off the bat, the app gets deployed via a container and OIDC is configured, along with generally a group which represents admin access. Then, upon first viewing the website I can log in and get admin access, other users login and just get the user experience. The user accounts in my home lab are in active directory and I use keycloak as my identity server while at work they are in azure and azure identity server is used.

By using OIDC you get the SSO experience, so upon opening up a laptop and logging into an app access is also granted to all other apps till the token expires at which point whatever webapp you are using it'll catch the expiration and redirect you over to the IDP to log in again. Logging into OIDC gives you claims so your app will get the username to use and typically also groups which can be used for RBAC (role based access control, aka an active directory group which grants admin access to the app, while non-members just get user access.

At home and especially at work of course, you wouldn't want everyone to get admin access to a webapp by default. ... and you don't want to manage users in the app, the username/password maintenance occurs elsewhere, freeing the app from having to deal with that.

By letting an IDP take care of your users management you also get other benefits, such as if you forgot your password the IDP takes care of emailing the users and getting the password reset. With keycloak, the users can be anything behind the scene such as active directory or github... or with OIDC you can just configure github as your IDP directly and not use keycloak.

At work we tend to see apps which support OIDC as mature, as all apps that have been around support OIDC. It's modern standard replacing SAML due to its simplicity. SAML still supports more use cases than OIDC, but the world has settled on OIDC, libraries will be available for whatever language you use.

Maybe setup an app such as harbor and configure OIDC within it to point to github or whatever IDP you have available so you can have the experience. I suspect you'll want to configure all your apps with OIDC once you have ...

Let me know if you've already got this setup before I type too much please, I've helped a few project get OIDC setup but in general, if you are already using a library to handle you user accounts it may already have plugins supporting OIDC.

1 Like