IQSS / IQSS/dataverse-frontend

OIDC Integration: Problem Provisioning a Provider via JVM

Open
#565 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

GREI Re-arch Waiting
Dominant language
TypeScript
Stars
31
Forks
26
Avg merge
4d 13h
Merged PRs (30d)
4

Description

The Dataverse configuration sets up an OIDC Provider, but it doesn't add a row to authenticationproviderrow, there for the user is not visible in the Dataverse Dashboard ->Manage Users View.

What steps does it take to reproduce the issue?

Step 1: Run the Development Environment

  1. Execute npm i.
  2. Navigate with cd packages/design-system && npm i && npm run build.
  3. Return with cd ../../.
  4. Ensure you have a .env file similar to .env.example, with the variable VITE_DATAVERSE_BACKEND_URL=http://localhost:8000.
  5. Make sure your dev-env/.env file is filled with the appropriate data. For the REGISTRY variable, please set ghcr.io, as we will use a https://github.com/IQSS/dataverse/pull/10972 dataverse image.
  6. Navigate with cd dev-env.
  7. Start the environment using ./run-env.sh 10959-bearer-token-auth-ext .
  8. To verify the environment, visit http://localhost:8000/ and check your local Dataverse installation.

Step 2: Test the feature in the SPA

  1. Click the Log In button in the header.
  2. You will be redirected to the Keycloak login page
  3. Enter the credentials, there are 4 pre-set users in keycloak, you can log in with any of those users:
  • dataverse-user@mailinator.com - pass: user
  • dataverse-admin@mailinator.com - pass: admin
  • dataverse-affiliate@mailinator.com - pass: affiliate
  • dataverse-curator@mailinator.com - pass: curator
  1. After the first login, you will be redirected to finish the registration process, where you will have to accept the terms (although there are none for now) and you will also be able to optionally add the affiliation and position.
  2. After submitting the form, you will be redirected to the “root” collection page with a welcome success alert and some confetti. 🎉 .
  3. After the user has been registered, go to the JSF frontend and login as dataverseAdmin. Go to Dashboard -> Manage Users view. The newly created user is not displayed, only the Dataverse Admin.

Related Issues
An related issue has been created for this in Dataverse: https://github.com/IQSS/dataverse/issues/11090

Contributor guide

Open the contributing guide

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 reviewing the OIDC login and registration flow in the SPA, then verify the resulting user in the JSF Dashboard → Manage Users view. Reproduce with the documented dev-env steps and compare the created user with the related Dataverse issue #11090. Done means a newly registered OIDC user appears in Manage Users.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.