Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: enable provisioning a OIDC auth provider via MPCONFIG #9268

Closed
poikilotherm opened this issue Jan 9, 2023 · 0 comments · Fixed by #9273
Closed

Feature Request: enable provisioning a OIDC auth provider via MPCONFIG #9268

poikilotherm opened this issue Jan 9, 2023 · 0 comments · Fixed by #9273
Assignees
Labels
Component: Containers Anything related to cloudy Dataverse, shipped in containers. Feature: Account & User Info Feature: Installation Guide Feature: Permissions User Role: Sysadmin Installs, upgrades, and configures the system, connects via ssh
Milestone

Comments

@poikilotherm
Copy link
Contributor

Overview of the Feature Request

With an Open ID Connect Provider becoming an integral part of future Dataverse installations, it should be possible to deploy its configuration not just via API but also from a mixture of MPCONFIG sources.

An example how this looks like in other applications might be found in the Quarkus OIDC support: https://quarkus.io/guides/security-openid-connect#configuring-the-application

We should provide something similar, also to enable the new planned security filter to have access to this configuration without needing access to a database.

What kind of user is the feature intended for?
Sysadmin, Developers

What inspired the request?
The recent authn/authz efforts around the SPA.

What existing behavior do you want changed?
Currently you need to deploy an OIDC auth provider with a JSON file sent to an API endpoint, see https://guides.dataverse.org/en/latest/installation/oidc.html

This is cumbersome for testing with containers and containerized production environments.

Any brand new behavior do you want to add to Dataverse?
Nope. This is simply adding an additional config way for an auth provider.

Any related open or closed issues to this feature request?
#9227 / #9234 & #9229 / #9230

@poikilotherm poikilotherm self-assigned this Jan 9, 2023
@poikilotherm poikilotherm added Component: Containers Anything related to cloudy Dataverse, shipped in containers. Feature: Permissions Feature: Account & User Info Feature: Installation Guide User Role: Sysadmin Installs, upgrades, and configures the system, connects via ssh labels Jan 9, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
Only one provider can be configured via MPCONFIG for now.
The provider is configured with an appropriate ID to distinguish
it from other providers configured via the API.
It can be configured in addition to other OIDC providers when desired.
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
…QSS#9268

Using Testcontainers to start a Keycloak instance with our default development realm,
the provider is created using MPCONFIG settings.
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
To use data in /conf for tests, adding the folder in Maven to copy them to the test classpath as resources helps to use them in tests very easily.
All dirs under /conf will be copied to the /target/test-classes directory recursively. This also works when running tests in IDEs like IntelliJ.
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Jan 10, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Oct 2, 2023
Co-authored-by: Philip Durbin <philipdurbin@gmail.com>
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Oct 2, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Oct 2, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Oct 2, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Oct 3, 2023
poikilotherm added a commit to poikilotherm/dataverse that referenced this issue Oct 3, 2023
Co-authored-by: Philip Durbin <philipdurbin@gmail.com>
pdurbin added a commit to poikilotherm/dataverse that referenced this issue Oct 3, 2023
@pdurbin pdurbin added this to the 6.1 milestone Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Containers Anything related to cloudy Dataverse, shipped in containers. Feature: Account & User Info Feature: Installation Guide Feature: Permissions User Role: Sysadmin Installs, upgrades, and configures the system, connects via ssh
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants