kolibri icon indicating copy to clipboard operation
kolibri copied to clipboard

Deep link to specific content during SSO login flow

Open eapdso opened this issue 1 month ago • 3 comments

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Current behavior

When using SSO (SAML 2.0) to login to Kolibri, it automatically brings a user to the Kolibri home page.

Desired behavior

SSO should be able to have a URL parameter (or equivalent) that allows a user to be sent directly to specific piece of content within Kolibri.

Value add

This allows the originating system to direct people to the relevant content instead of forcing the user to search for the content themselves after login, which is complicated and slow process when there is a lot of content available for the user and they may have low tech literacy.

eapdso avatar Nov 14 '25 18:11 eapdso

Hi @eapdso,

What are you using to achieve SAML 2.0 based SSO? The only SSO solution for Kolibri we have developed uses OIDC, so I assume that this is something that you have developed internally, or that someone else has created?

If it's just a matter of updating that to redirect/link to a specific resource, we do have a built in content redirect system, e.g.: /viewcontent?node_id=bee740d7a210545ab047b58fb61b9420 - would redirect to the specified node_id.

So, if the SAML 2.0 based SSO can accept a next parameter or similar, it could point to this. Without more details on the SAML 2.0 implementation though, I can't offer precise next steps.

rtibbles avatar Nov 20 '25 16:11 rtibbles

Thanks, @rtibbles ! I was mistaken and we are using OIDC actually. I've forwarded this onto our product and engineering team and they will investigate. Thanks for the tip on node_id -- i think that's very promising.

eapdso avatar Nov 21 '25 20:11 eapdso

OK, great - looking at the Django OIDC library that our plugin is using under the hood, you should be able to pass next GET parameter with the login request, in order to redirect the successfully logged in user to the correct URL: https://mozilla-django-oidc.readthedocs.io/en/1.2.4/settings.html#OIDC_REDIRECT_FIELD_NAME

rtibbles avatar Nov 21 '25 20:11 rtibbles