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

SSO - Digital Credential Demo #1311

Draft
wants to merge 26 commits into
base: main
Choose a base branch
from

Conversation

usingtechnology
Copy link
Collaborator

@usingtechnology usingtechnology commented Mar 18, 2024

Description

This is a demo-only PR. This builds on the SSO/IDP changes in #1258 and adds a new IDP - Verified Email.

The SSO Standard realm supports the Verified Email credential in their sandbox environment, so this PR/deployment will make use of a temporary config map (chefs-sandbox-oidc-config) and use SANDBOX_OIDC_* environment variables to set up Keycloak/OIDC.

Management of the OIDC client is here: https://bcgov.github.io/sso-requests-sandbox

To test this out, you will need:

  1. Download the app and install.
  2. Follow the registration procedures, use a valid email you have access to as email is validated and invitation is sent to that address.
  3. Perform the acceptance of the invitation on your phone where your BC wallet application is. The email should prompt to open the BC wallet.

The Verified Email credential/login will act like BCeID Basic - extremely limited permissions in the app.

Here is a link to a form that requires Verified Email login: https://chefs-dev.apps.silver.devops.gov.bc.ca/pr-1311/form/submit?f=e5318071-b2d0-470e-b1df-d0a8c52da208

Types of changes

  • Add new IDP (database migration).
  • Add support for additional login parameters.

Checklist

  • I have read the CONTRIBUTING doc
  • I have checked that unit tests pass locally with my changes
  • I have run the npm script lint on the frontend and backend
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • I have approval from the product owner for the contribution in this pull request

Further comments

usingtechnology and others added 26 commits January 25, 2024 08:26
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
fixes made to files where bugs found.
changed a param substitution name in resource files.

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
remove keycloak from API, replace with jwt verification only.
token to user mapping now in configuration not in keycloak.
frontend keycloak configuration changes slightly (no resource_access).
no user role.

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
allow null logoutUrl.
add parameters to logoutUrl at runtime

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
fix middleware calls.
fix issues raised in PR.

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
…thorized

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
…ase.

remove index on keycloakId, remove restriction that is is a GUID
change token map value parsing spec, allow json and stringToGUID.
add/enhance tests around token parsing

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
Need supplementary login parameters to OIDC.

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
add default CHEFs permission for digital cred IDP

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
new config map and env vars for demo against sandbox sso

Signed-off-by: Jason Sherman <tools@usingtechnolo.gy>
@usingtechnology usingtechnology changed the title SSO - Digital Credential SSO - Digital Credential Demo Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant