Zulassen mehrerer OIDC-Quellen

Antwort auf die Frage in Beitrag #2 oben: Unser Anwendungsfall und welche Login-Quellen wir benötigen.

Wir betreiben ein öffentliches Community-Forum für eine EU-Forschungsinitiative auf gehostetem Discourse innerhalb der EU.

Wir müssen zwei OIDC-Provider gleichzeitig aktivieren:

  1. EU Login, der Identitätsanbieter der Europäischen Kommission. Er wird von Kommissionsbediensteten, politischen Stakeholdern und Teilnehmern an EU-geförderten Projekten verwendet. Standard-OIDC, mit dem Discovery-Dokument unter https://ecas.ec.europa.eu/cas/oauth2/.well-known/openid-configuration.
  2. EGI Check-in, ein föderierter akademischer Identitäts-Proxy, der institutionelle Konten und ORCID abdeckt. Er wird in den europäischen Forschungsinfrastrukturen eingesetzt. Ebenfalls Standard-OIDC.

Keiner der beiden deckt die Nutzer des anderen ab. Eine Politikoffizierin meldet sich mit EU Login an und hat keine institutionelle Forschungsidentität. Eine Forscherin meldet sich über unseren Proxy mit einem Universitätskonto oder mit ORCID an und hat kein EU Login. Unsere Community besteht aus beiden Gruppen, sodass die Wahl eines einzelnen Anbieters bedeutet, die Hälfte der Personen abzuweisen, für die das Forum gedacht ist.

Beide Provider nutzen gewöhnliches OIDC, und jeder funktioniert für sich allein. Was uns daran hindert, ist, dass discourse-openid-connect einen einzelnen, nicht nummerierten Einstellungsnamespace bereitstellt: openid_connect_client_id, statt openid_connect_1_client_id und openid_connect_2_client_id. Pro Site kann nur ein OIDC-Provider konfiguriert werden.

Wir würden Unterstützung für mehrere Provider wünschen. Die natürlichste Form wäre ein Einstellungsnamespace pro Provider, entweder nummerierte Einstellungen oder eine von der Verwaltung verwaltete Liste, bei der jeder Provider sein eigenes Discovery-Dokument, seine eigenen Client-Zugangsdaten, seinen eigenen Scope und seinen eigenen Button-Titel hat.

Es gibt frühere Vorarbeiten in Mehrere openid-connect-Authentifizierungsprovider aus dem Jahr 2021, wo der Bedarf mehrere Keycloak-Reiche betraf. Das ist dieselbe Einschränkung in anderer Form.

Wir können bei Bedarf weitere Informationen bereitstellen oder Implementierungen testen, falls das helfen kann.

1 „Gefällt mir“