OpenConext / OpenConext/Mujina

Supporting Multiple IDP configurations in a multi tenant fashion for Single Sign On

Open
#77 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stale
Dominant language
Java
Stars
386
Forks
172
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Hi, going through the current implementation I realised that since the properties are mentioned as values in resources, only one IDP configuration is instantiated at runtime. I was wondering how could one extend it to support multi-tenancy (i.e) supporting multiple IDP Configs (different ACS Urls, certs, etc).

The Spring Security SAML document mentions that it is extensible to support multi tenancy.

Solution wise, I was thinking that maybe for SSO, the endpoint can be changed to {identifier}/SingleSignOnService and we could resolve the identifier to fetch the IDP Configuration from a DB query on runtime.

Any suggestions would be appreciated. I am unable to find a reference for this anywhere

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the current resource-defined SSO/IDP configuration and the SingleSignOnService endpoint, then compare the proposed identifier lookup with Spring Security SAML's multi-tenant extension points. Done would mean a reviewed design for resolving tenant-specific ACS URLs, certificates, and IDP settings at runtime; the issue does not name a file or test.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
authentication, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.