Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openwallet-foundation/acapy-vc-authn-oidc
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.0.1
Choose a base ref
...
head repository: openwallet-foundation/acapy-vc-authn-oidc
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on May 7, 2024

  1. Update ACA-Py to 0.12.1, prepare 2.0.2 release

    Signed-off-by: Emiliano Suñé <emiliano.sune@gmail.com>
    esune committed May 7, 2024
    Copy the full SHA
    b64fd5d View commit details
  2. Merge pull request #510 from bcgov/release/2.0.2

    Update ACA-Py to 0.12.1, prepare 2.0.2 release
    esune authored May 7, 2024
    Copy the full SHA
    40dac90 View commit details

Commits on May 9, 2024

  1. Initial POC for Proof Request Explorer

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil committed May 9, 2024
    Copy the full SHA
    f3f7f0b View commit details

Commits on May 10, 2024

  1. Merge pull request #514 from bcgov/feature/presReqExplorer

    Presentation Request explorer initial concept
    esune authored May 10, 2024
    Copy the full SHA
    4928c47 View commit details

Commits on May 14, 2024

  1. Dependency updates

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil committed May 14, 2024
    Copy the full SHA
    08cbe68 View commit details
  2. Deep link pending

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    
    tweak
    
    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil committed May 14, 2024
    Copy the full SHA
    64c3fbf View commit details

Commits on May 15, 2024

  1. Merge pull request #519 from bcgov/bugfix/deepLinkDisable

    Set Pending state on Deep Link action
    esune authored May 15, 2024
    Copy the full SHA
    e56dd6e View commit details

Commits on May 16, 2024

  1. Increase agent database storage volume.

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 16, 2024
    Copy the full SHA
    38edfc0 View commit details
  2. helpers file changes, add createsecret logic

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 16, 2024
    Copy the full SHA
    e1adb3b View commit details
  3. create secret only if necessary

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 16, 2024
    Copy the full SHA
    0514e23 View commit details
  4. Allow specifying existingSecret

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 16, 2024
    Copy the full SHA
    522b837 View commit details
  5. Update Readme

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 16, 2024
    Copy the full SHA
    e0f348c View commit details
  6. use secret keys as defined in Values

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 16, 2024
    Copy the full SHA
    3c40da8 View commit details

Commits on May 17, 2024

  1. Merge branch 'main' of https://github.com/bcgov/vc-authn-oidc into fe…

    …ature/chart-update
    i5okie committed May 17, 2024
    Copy the full SHA
    689bb7a View commit details
  2. Use latest MongoDB chart

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 17, 2024
    Copy the full SHA
    d6d9a18 View commit details
  3. bump version

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 17, 2024
    Copy the full SHA
    0b00e32 View commit details
  4. Use 5Gi instead of 8

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 17, 2024
    Copy the full SHA
    92ed50c View commit details

Commits on May 20, 2024

  1. Style the scanned text

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil committed May 20, 2024
    Copy the full SHA
    9be79d9 View commit details

Commits on May 21, 2024

  1. Merge pull request #525 from bcgov/bugfix/preventQrRescan

    Prevent re-scanning a QR code while it's in Pending state
    esune authored May 21, 2024
    Copy the full SHA
    ccf9646 View commit details

Commits on May 22, 2024

  1. Setup TTL for automatic deletion of auth_sessions

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 22, 2024
    Copy the full SHA
    04e133c View commit details
  2. Copy the full SHA
    18fc85f View commit details
  3. Minimize repeated code in index creation

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 22, 2024
    Copy the full SHA
    f4cc0de View commit details
  4. Dependabot updates (#530)

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil authored May 22, 2024
    Copy the full SHA
    a48c136 View commit details

Commits on May 24, 2024

  1. Copy the full SHA
    393bb39 View commit details

Commits on May 27, 2024

  1. remove redundant logic/values

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    172ac15 View commit details
  2. Copy the full SHA
    e51627a View commit details
  3. Clean up secrets, fix white-space handling

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    6a82c0c View commit details
  4. clean up network policy apiVersion

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    00c7810 View commit details
  5. remove redundant logic

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    0fd582e View commit details
  6. fix helpers logic

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    a2da178 View commit details
  7. add auth.api.existingSecret, update Readme

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    3b7936d View commit details
  8. Clean up secrets

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    5d9ffd9 View commit details
  9. Update dependencies

    Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com>
    i5okie committed May 27, 2024
    Copy the full SHA
    9eeff6d View commit details

Commits on May 28, 2024

  1. Migrated the configuration of authsession deletion to a json config file

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 28, 2024
    Copy the full SHA
    be3b209 View commit details
  2. Merge pull request #522 from i5okie/feature/chart-update

    [Helm} Chart changes to support ArgoCD deployment
    i5okie authored May 28, 2024
    Copy the full SHA
    2804ef3 View commit details
  3. Go to mongo 7

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil committed May 28, 2024
    Copy the full SHA
    392ebf3 View commit details
  4. Increase expiration buffer to avoid conflicts with keycloak

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 28, 2024
    Copy the full SHA
    3f8cd8e View commit details
  5. Added default auth session config

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 28, 2024
    Copy the full SHA
    46f673a View commit details
  6. Library updates

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil committed May 28, 2024
    Copy the full SHA
    07afd13 View commit details
  7. Corrected long line

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 28, 2024
    Copy the full SHA
    85e7c30 View commit details
  8. remove duplicate import

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 28, 2024
    Copy the full SHA
    6a7bcaf View commit details
  9. Copy the full SHA
    fc9ebd2 View commit details
  10. Log errors in sessiontimeout.json

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed May 28, 2024
    Copy the full SHA
    0fd21cf View commit details

Commits on May 29, 2024

  1. Merge pull request #532 from bcgov/feature/updateMongoVersionForLocal

    Update to mongo 7 on local Docker
    loneil authored May 29, 2024
    Copy the full SHA
    6ddb94f View commit details
  2. Prepare 2.0.3 release (#533)

    Signed-off-by: Emiliano Suñé <emiliano.sune@gmail.com>
    esune authored May 29, 2024
    Copy the full SHA
    46e31f6 View commit details

Commits on May 30, 2024

  1. Import minified Vue (#534)

    Signed-off-by: Lucas ONeil <lucasoneil@gmail.com>
    loneil authored May 30, 2024
    Copy the full SHA
    18af14e View commit details
  2. Copy the full SHA
    d4b15f6 View commit details

Commits on Jun 4, 2024

  1. Support restarting the controller and setting the config path as an e…

    …nvvar
    
    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed Jun 4, 2024
    Copy the full SHA
    13736ff View commit details
  2. Add default config file

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed Jun 4, 2024
    Copy the full SHA
    2e4c67f View commit details
  3. Remove old print statement

    Signed-off-by: Gavin Jaeger-Freeborn <gavinfreeborn@gmail.com>
    Gavinok committed Jun 4, 2024
    Copy the full SHA
    e9915b1 View commit details
Showing with 7,054 additions and 3,353 deletions.
  1. +2 −2 .github/actions/chart_releaser/cr.yaml
  2. +1 −1 .github/workflows/chart_release.yaml
  3. +6 −7 .github/workflows/controller_unittests.yml
  4. +3 −32 .github/workflows/on_push_main.yaml
  5. +6 −6 .github/workflows/publish.yml
  6. +27 −35 README.md
  7. +4 −4 charts/vc-authn-oidc/Chart.lock
  8. +4 −4 charts/vc-authn-oidc/Chart.yaml
  9. +73 −70 charts/vc-authn-oidc/README.md
  10. BIN charts/vc-authn-oidc/charts/common-2.27.0.tgz
  11. BIN charts/vc-authn-oidc/charts/common-2.6.0.tgz
  12. BIN charts/vc-authn-oidc/charts/mongodb-13.13.1.tgz
  13. BIN charts/vc-authn-oidc/charts/mongodb-15.4.3.tgz
  14. +47 −31 charts/vc-authn-oidc/templates/_helpers.tpl
  15. +0 −14 charts/vc-authn-oidc/templates/agent/database_secret.yaml
  16. +2 −3 charts/vc-authn-oidc/templates/agent/deployment.yaml
  17. +10 −7 charts/vc-authn-oidc/templates/agent/secrets.yaml
  18. +10 −0 charts/vc-authn-oidc/templates/configmap.yaml
  19. +21 −2 charts/vc-authn-oidc/templates/deployment.yaml
  20. +1 −1 charts/vc-authn-oidc/templates/networkpolicy-agent-ingress.yaml
  21. +2 −4 charts/vc-authn-oidc/templates/networkpolicy-agent.yaml
  22. +2 −4 charts/vc-authn-oidc/templates/networkpolicy-db.yaml
  23. +1 −2 charts/vc-authn-oidc/templates/networkpolicy-ingress.yaml
  24. +16 −6 charts/vc-authn-oidc/templates/secrets.yaml
  25. +59 −39 charts/vc-authn-oidc/values.yaml
  26. +1 −3 demo/vue/README.md
  27. +1 −14 demo/vue/app/config/custom-environment-variables.json
  28. +5 −16 demo/vue/app/config/default.json
  29. +0 −6 demo/vue/app/config/test.json
  30. +845 −321 demo/vue/app/frontend/package-lock.json
  31. +9 −10 demo/vue/app/frontend/package.json
  32. BIN demo/vue/app/frontend/public/favicon.ico
  33. +9 −9 demo/vue/app/frontend/src/App.vue
  34. +54 −0 demo/vue/app/frontend/src/assets/images/OpenWallet_Foundation_Logo_Color.svg
  35. +0 −1 demo/vue/app/frontend/src/assets/images/bc_logo.svg
  36. +0 −1 demo/vue/app/frontend/src/assets/images/bc_logo_print.svg
  37. +0 −22 demo/vue/app/frontend/src/assets/images/bc_logo_square.svg
  38. +11 −12 demo/vue/app/frontend/src/assets/scss/style.scss
  39. +5 −2 demo/vue/app/frontend/src/components/base/BaseAuthButton.vue
  40. +0 −59 demo/vue/app/frontend/src/components/bcgov/BCGovFooter.vue
  41. +50 −0 demo/vue/app/frontend/src/components/owf/OWFFooter.vue
  42. +11 −11 demo/vue/app/frontend/src/components/{bcgov/BCGovHeader.vue → owf/OWFHeader.vue}
  43. +1 −1 demo/vue/app/frontend/src/components/{bcgov/BCGovNavBar.vue → owf/OWFNavBar.vue}
  44. +0 −1 demo/vue/app/frontend/src/main.js
  45. +1 −1 demo/vue/app/frontend/src/router/index.js
  46. +1 −1 demo/vue/app/frontend/src/store/modules/auth.js
  47. +4 −8 demo/vue/app/frontend/src/views/Home.vue
  48. +0 −21 demo/vue/app/frontend/tests/unit/App.spec.js
  49. +0 −39 demo/vue/app/frontend/tests/unit/components/HelloCall.spec.js
  50. +0 −9 demo/vue/app/frontend/tests/unit/components/HelloWorld.spec.js
  51. +0 −132 demo/vue/app/frontend/tests/unit/components/base/BaseAuthButton.spec.js
  52. +0 −28 demo/vue/app/frontend/tests/unit/components/base/BaseDialog.spec.js
  53. +0 −115 demo/vue/app/frontend/tests/unit/components/base/BaseSecure.spec.js
  54. +0 −9 demo/vue/app/frontend/tests/unit/components/bcgov/BCGovFooter.spec.js
  55. +0 −21 demo/vue/app/frontend/tests/unit/components/bcgov/BCGovHeader.spec.js
  56. +0 −26 demo/vue/app/frontend/tests/unit/components/bcgov/BCGovNavBar.spec.js
  57. +0 −4 demo/vue/app/frontend/tests/unit/globalSetup.js
  58. +0 −17 demo/vue/app/frontend/tests/unit/router/index.spec.js
  59. +0 −30 demo/vue/app/frontend/tests/unit/services/helloService.spec.js
  60. +0 −8 demo/vue/app/frontend/tests/unit/store/index.spec.js
  61. +0 −117 demo/vue/app/frontend/tests/unit/store/modules/auth.actions.spec.js
  62. +0 −195 demo/vue/app/frontend/tests/unit/store/modules/auth.getters.spec.js
  63. +0 −19 demo/vue/app/frontend/tests/unit/store/modules/auth.mutations.spec.js
  64. +0 −21 demo/vue/app/frontend/tests/unit/views/Home.spec.js
  65. +0 −25 demo/vue/app/frontend/tests/unit/views/NotFound.spec.js
  66. +0 −21 demo/vue/app/frontend/tests/unit/views/Secure.spec.js
  67. +362 −283 demo/vue/app/package-lock.json
  68. +11 −11 demo/vue/app/package.json
  69. +0 −144 demo/vue/app/src/components/cdogsService.js
  70. +0 −154 demo/vue/app/src/components/chesService.js
  71. +1 −3 demo/vue/docker-compose.yaml
  72. +10 −7 docker/agent/config/ledgers.yaml
  73. +0 −1 docker/docker-compose-ngrok.yaml
  74. +11 −4 docker/docker-compose.yaml
  75. +1 −1 docker/keycloak/config/keycloak_import.json
  76. +39 −12 docker/manage
  77. +8 −5 docker/oidc-controller/Dockerfile
  78. +1 −0 docker/oidc-controller/config/sessiontimeout.json
  79. 0 docker/oidc-controller/config/user_variable_substitution.py
  80. +24 −0 docker/oidc-controller/config/user_variable_substitution_example.py
  81. +4 −4 docs/BestPractices.md
  82. +88 −12 docs/ConfigurationGuide.md
  83. +4 −4 docs/MigrationGuide.md
  84. +30 −1 docs/README.md
  85. +2 −5 oidc-controller/api/authSessions/crud.py
  86. +4 −9 oidc-controller/api/authSessions/models.py
  87. +2 −3 oidc-controller/api/clientConfigurations/crud.py
  88. +8 −9 oidc-controller/api/clientConfigurations/models.py
  89. +1 −2 oidc-controller/api/clientConfigurations/router.py
  90. +4 −4 oidc-controller/api/clientConfigurations/tests/test_cc_crud.py
  91. +1 −1 oidc-controller/api/core/{aries → acapy}/__init__.py
  92. +42 −28 oidc-controller/api/core/acapy/client.py
  93. +5 −5 oidc-controller/api/core/acapy/config.py
  94. +13 −4 oidc-controller/api/core/acapy/models.py
  95. +5 −5 oidc-controller/api/core/{aries → acapy}/out_of_band.py
  96. +8 −0 oidc-controller/api/core/acapy/present_proof_attachment.py
  97. +7 −7 oidc-controller/api/core/{aries → acapy}/present_proof_presentation.py
  98. +24 −0 oidc-controller/api/core/acapy/service_decorator.py
  99. +12 −48 oidc-controller/api/core/acapy/tests/test_client.py
  100. +0 −24 oidc-controller/api/core/aries/present_proof_attachment.py
  101. +0 −23 oidc-controller/api/core/aries/service_decorator.py
  102. +31 −12 oidc-controller/api/core/config.py
  103. +1 −1 oidc-controller/api/core/http_exception_util.py
  104. +3 −1 oidc-controller/api/core/logger_util.py
  105. +1 −1 oidc-controller/api/core/models.py
  106. +35 −18 oidc-controller/api/core/oidc/issue_token_service.py
  107. +1 −1 oidc-controller/api/core/oidc/provider.py
  108. +1,321 −67 oidc-controller/api/core/oidc/tests/__mocks__.py
  109. +90 −88 oidc-controller/api/core/oidc/tests/test_issue_token_service.py
  110. +81 −0 oidc-controller/api/db/session.py
  111. +6 −0 oidc-controller/api/main.py
  112. +27 −23 oidc-controller/api/routers/acapy_handler.py
  113. +67 −48 oidc-controller/api/routers/oidc.py
  114. +9 −6 oidc-controller/api/routers/presentation_request.py
  115. +0 −1 oidc-controller/api/templates/assets/BCID_H_rgb_rev.svg
  116. +0 −31 oidc-controller/api/templates/assets/bc-logo.svg
  117. +6 −0 oidc-controller/api/templates/assets/css/bootstrap.533.min.css
  118. +149 −0 oidc-controller/api/templates/assets/css/custom.css
  119. +0 −10 oidc-controller/api/templates/assets/hourglass.svg
  120. 0 oidc-controller/api/templates/assets/{ → img}/circle-check.svg
  121. 0 oidc-controller/api/templates/assets/{ → img}/circle-x.svg
  122. 0 oidc-controller/api/templates/assets/{ → img}/dashed-border.svg
  123. 0 oidc-controller/api/templates/assets/{ → img}/digital-wallet.svg
  124. 0 oidc-controller/api/templates/assets/{ → img}/expired.svg
  125. 0 oidc-controller/api/templates/assets/{ → img}/hand-qrcode.svg
  126. +54 −0 oidc-controller/api/templates/assets/img/header-logo.svg
  127. +1 −0 oidc-controller/api/templates/assets/img/new-digital-wallet.svg
  128. 0 oidc-controller/api/templates/assets/{ → img}/refresh.svg
  129. +41 −0 oidc-controller/api/templates/assets/img/spinner.svg
  130. +7 −0 oidc-controller/api/templates/assets/js/socket.io.475.min.js
  131. +9 −0 oidc-controller/api/templates/assets/js/vue.global.prod.3512.js
  132. +0 −3 oidc-controller/api/templates/helpers.py
  133. +164 −0 oidc-controller/api/templates/ver_config_explorer.html
  134. +512 −489 oidc-controller/api/templates/verified_credentials.html
  135. +89 −35 oidc-controller/api/templates/wallet_howto.html
  136. +2 −3 oidc-controller/api/verificationConfigs/crud.py
  137. +43 −0 oidc-controller/api/verificationConfigs/helpers.py
  138. +42 −26 oidc-controller/api/verificationConfigs/models.py
  139. +17 −2 oidc-controller/api/verificationConfigs/router.py
  140. +66 −0 oidc-controller/api/verificationConfigs/tests/test_helpers.py
  141. +71 −0 oidc-controller/api/verificationConfigs/tests/test_variable_substitutions.py
  142. +4 −4 oidc-controller/api/verificationConfigs/tests/test_vc_crud.py
  143. +138 −0 oidc-controller/api/verificationConfigs/variableSubstitutions.py
  144. +4 −0 oidc-controller/conftest.py
  145. +0 −7 oidc-controller/pyproject.toml
  146. +2 −1 oidc-controller/pytest.ini
  147. +0 −9 oidc-controller/requirements-dev.txt
  148. +0 −12 oidc-controller/requirements.txt
  149. +1 −1 oidc-controller/tox.ini
  150. +1,873 −0 poetry.lock
  151. +49 −0 pyproject.toml
4 changes: 2 additions & 2 deletions .github/actions/chart_releaser/cr.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
owner: bcgov
git-repo: vc-authn-oidc
owner: openwallet-foundation
git-repo: acapy-vc-authn-oidc
git-base-url: https://api.github.com/
git-upload-url: https://uploads.github.com/
2 changes: 1 addition & 1 deletion .github/workflows/chart_release.yaml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ on:

jobs:
chart-release:
name: Create chart release
name: Create and Publish Chart Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
13 changes: 6 additions & 7 deletions .github/workflows/controller_unittests.yml
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
@@ -24,17 +24,16 @@ jobs:
- name: Install dependencies
working-directory: ./oidc-controller
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
pip3 install --no-cache-dir poetry==1.8.3
poetry install
- name: Lint with black
working-directory: ./oidc-controller
run: |
flake8 . --count --show-source --statistics
poetry run black --check .
- name: Test with pytest
working-directory: ./oidc-controller
run: |
pytest --log-cli-level=INFO --cov --cov-report lcov
poetry run pytest --log-cli-level=INFO --cov --cov-report lcov
- name: Coveralls Parallel
uses: coverallsapp/github-action@v2
with:
35 changes: 3 additions & 32 deletions .github/workflows/on_push_main.yaml
Original file line number Diff line number Diff line change
@@ -1,45 +1,16 @@
name: Build & Deploy Development
name: Build, Update Config, and Deploy Development
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build:
name: "Build VC-AuthN"
if: github.repository_owner == 'bcgov'
name: "Build ACAPy VC-AuthN"
if: github.repository_owner == 'openwallet-foundation'
uses: ./.github/workflows/publish.yml
with:
tag: "dev"
ref: "main"
platforms: "linux/amd64"

# Build vc-authn
deploy:
name: Deploy VC-AuthN to Dev
environment: dev
runs-on: ubuntu-latest
needs:
- build
if: ${{ always() && !(contains(needs.*.result, 'failed')) && (github.repository_owner == 'bcgov') }}

steps:
- uses: actions/checkout@v4

- name: Authenticate and set context
uses: redhat-actions/oc-login@v1
with:
openshift_server_url: ${{ secrets.OPENSHIFT_SERVER }}
openshift_token: ${{ secrets.OPENSHIFT_TOKEN }}
namespace: ${{ secrets.OPENSHIFT_NAMESPACE }}

- name: VC-Authn Dev Helm
run: |
helm upgrade --install vc-authn-oidc \
-f https://raw.githubusercontent.com/bcgov/trust-over-ip-configurations/main/helm-values/vc-authn-oidc/dev.yaml \
--set image.tag=${{ needs.build.outputs.image_version }} \
./charts/vc-authn-oidc --wait
- name: Restart Deployments
run: |
oc rollout restart deployment/vc-authn-oidc-agent
oc rollout restart deployment/vc-authn-oidc
12 changes: 6 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Publish VC-AuthN Image
run-name: Publish VC-AuthN ${{ inputs.tag || github.event.release.tag_name }} Image
name: Publish ACAPy VC-AuthN Image
run-name: Publish ACAPy VC-AuthN ${{ inputs.tag || github.event.release.tag_name }} Image
on:
release:
types: [published]
@@ -47,11 +47,11 @@ env:

jobs:
publish_image:
if: github.repository_owner == 'bcgov'
if: github.repository_owner == 'openwallet-foundation'
strategy:
fail-fast: false

name: Publish VC-AuthN Image
name: Publish ACAPy VC-AuthN Image
runs-on: ubuntu-latest
outputs:
image_tag: ${{ steps.values.outputs.image_tag }}
@@ -90,15 +90,15 @@ jobs:
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/${{ steps.info.outputs.repo-owner }}/vc-authn-oidc
ghcr.io/${{ steps.info.outputs.repo-owner }}/acapy-vc-authn-oidc
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=ref,event=pr
type=sha
- name: Build and Push Image to ghcr.io
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6
with:
push: true
context: .
62 changes: 27 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
[![img](https://img.shields.io/badge/Lifecycle-Maturing-007EC6)](https://github.com/bcgov/repomountie/blob/master/doc/lifecycle-badges.md)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)

[![unit-tests](https://github.com/bcgov/vc-authn-oidc/actions/workflows/controller_unittests.yml/badge.svg?branch=2.0-development&event=push)](https://github.com/bcgov/vc-authn-oidc/actions/workflows/controller_unittests.yml)
[![Coverage Status](https://coveralls.io/repos/github/bcgov/vc-authn-oidc/badge.svg?branch=main)](https://coveralls.io/repos/github/bcgov/vc-authn-oidc/badge.svg?branch=main)
[![unit-tests](https://github.com/openwallet-foundation/acapy-vc-authn-oidc/actions/workflows/controller_unittests.yml/badge.svg?branch=main&event=push)](https://github.com/openwallet-foundation/acapy-vc-authn-oidc/actions/workflows/controller_unittests.yml)
[![Coverage Status](https://coveralls.io/repos/github/openwallet-foundation/acapy-vc-authn-oidc/badge.svg?branch=main)](https://coveralls.io/repos/github/openwallet-foundation/acapy-vc-authn-oidc/badge.svg?branch=main)

# Verifiable Credential Authentication with OpenID Connect (VC-AuthN OIDC)

@@ -50,35 +49,27 @@ In order to use the VC OIDC authentication, a couple of extra steps are required

- A proof-request configuration needs to be registered with VC-AuthN. To do
so, the following command can be used to post a configuration requesting a BC Wallet Showcase Person credential:
- Though not implemented in this built-in config, proof-request configurations can optionally include substitution variables. Details can be found [here](docs/ConfigurationGuide.md#proof-substitution-variables)

```bash
curl -X 'POST' \
'http://localhost:5000/ver_configs/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"ver_config_id": "showcase-person",
"ver_config_id": "test-proof",
"subject_identifier": "",
"generate_consistent_identifier": true,
"proof_request": {
"name": "BC Wallet Showcase Person",
"name": "Test Proof-Request",
"version": "1.0",
"requested_attributes": [
{
"names": ["given_names", "family_name", "country"],
"names": ["attr1", "attr2", "attr3"],
"restrictions": [
{
"schema_name": "Person",
"issuer_did": "L6ASjmDDbDH7yPL1t2yFj9"
},
{
"schema_name": "Person",
"issuer_did": "QEquAHkM35w4XVT3Ku5yat"
},
{
"schema_name": "Person",
"issuer_did": "M6dhuFj5UwbhWkSLmvYSPc"
"schema_name": "test-schema"
}
]
}
@@ -120,28 +111,29 @@ After all these steps have been completed, you should be able to authenticate wi
To connect a debugger to the `vc-authn` controller service, start the project using `DEBUGGER=true ./manage start` and then launch the debugger, it should connect automatically to the container.

This is a sample debugger launch configuration for VSCode that can be used by adding it to `launch.json`, it assumes a `.venv` folder containing the virtual environment was created in the repository root:

```json
{
"version": "0.1.1",
"configurations": [
"version": "0.1.1",
"configurations": [
{
"name": "Python: Debug VC-AuthN Controller",
"type": "python",
"request": "attach",
"port": 5678,
"host": "localhost",
"pathMappings": [
{
"name": "Python: Debug VC-AuthN Controller",
"type": "python",
"request": "attach",
"port": 5678,
"host": "localhost",
"pathMappings": [
{
"localRoot": "${workspaceFolder}/oidc-controller",
"remoteRoot": "/app"
},
{
"localRoot": "${workspaceFolder}/.venv/Lib/site-packages",
"remoteRoot": "/usr/local/lib/python3.11/site-packages"
}
],
"justMyCode": false
"localRoot": "${workspaceFolder}/oidc-controller",
"remoteRoot": "/app"
},
{
"localRoot": "${workspaceFolder}/.venv/Lib/site-packages",
"remoteRoot": "/usr/local/lib/python3.12/site-packages"
}
]
],
"justMyCode": false
}
]
}
```
8 changes: 4 additions & 4 deletions charts/vc-authn-oidc/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
dependencies:
- name: mongodb
repository: https://charts.bitnami.com/bitnami
version: 13.13.1
version: 15.4.3
- name: postgresql
repository: https://charts.bitnami.com/bitnami/
version: 11.9.13
- name: common
repository: https://charts.bitnami.com/bitnami
version: 2.6.0
digest: sha256:dda5d934795b4a8bebc838b46bb0e94fefbb2fd02a4c45baed829b18c03371d9
generated: "2023-07-31T09:49:41.275055325-07:00"
version: 2.27.0
digest: sha256:e042b769727234b98cc5062a3bdb8e7b2018ca37218d37613488c7cb8d60a0f2
generated: "2024-12-11T10:22:34.2773539-08:00"
8 changes: 4 additions & 4 deletions charts/vc-authn-oidc/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
apiVersion: v2
name: vc-authn-oidc
description: A Helm chart to deploy VC-AuthN on OpenShift
description: A Helm chart to deploy ACAPy VC-AuthN on OpenShift
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.9
version: 0.3.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "2.0.1"
appVersion: "2.2.2"

# Charts the vc-authn-oidc service depends on
dependencies:
- name: mongodb
version: "13.13.1"
version: 15.4.3
repository: "https://charts.bitnami.com/bitnami"
- name: postgresql
version: 11.9.13
143 changes: 73 additions & 70 deletions charts/vc-authn-oidc/README.md

Large diffs are not rendered by default.

Binary file added charts/vc-authn-oidc/charts/common-2.27.0.tgz
Binary file not shown.
Binary file removed charts/vc-authn-oidc/charts/common-2.6.0.tgz
Binary file not shown.
Binary file removed charts/vc-authn-oidc/charts/mongodb-13.13.1.tgz
Binary file not shown.
Binary file added charts/vc-authn-oidc/charts/mongodb-15.4.3.tgz
Binary file not shown.
78 changes: 47 additions & 31 deletions charts/vc-authn-oidc/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -156,39 +156,65 @@ Usage:
{{- end }}

{{/*
Create the name of the database secret to use
Define the name of the database secret to use
*/}}
{{- define "vc-authn-oidc.databaseSecretName" -}}
{{- if (empty .Values.database.existingSecret) -}}
{{- printf "%s-%s" .Release.Name "mongodb" | trunc 63 | trimSuffix "-" }}
{{- else -}}
{{- .Values.database.existingSecret -}}
{{- end -}}
{{- end }}

{{/*
Return true if a database secret should be created
*/}}
{{- define "vc-authn-oidc.database.createSecret" -}}
{{- if not .Values.database.existingSecret -}}
{{- true -}}
{{- end -}}
{{- end -}}

{{/*
Create the name of the api key secret to use
*/}}
{{- define "vc-authn-oidc.apiSecretName" -}}
{{- printf "%s-%s" .Release.Name "api-key" | trunc 63 | trimSuffix "-" }}
{{- if (empty .Values.auth.api.existingSecret) }}
{{- printf "%s-%s" .Release.Name "api-key" | trunc 63 | trimSuffix "-" }}
{{- else -}}
{{- .Values.auth.api.existingSecret }}
{{- end -}}
{{- end }}

{{/*
Return true if a secret object should be created for the vc-authn-oidc token private key
Return true if the api-secret should be created
*/}}
{{- define "vc-authn-oidc.token.createSecret" -}}
{{- define "vc-authn-oidc.api.createSecret" -}}
{{- if (empty .Values.auth.token.privateKey.existingSecret) }}
{{- true -}}
{{- end -}}
{{- end -}}
{{- end }}

{{/*
Return the secret with vc-authn-oidc token private key
*/}}
{{- define "vc-authn-oidc.token.secretName" -}}
{{- if .Values.auth.token.privateKey.existingSecret -}}
{{- printf "%s" .Values.auth.token.privateKey.existingSecret | trunc 63 | trimSuffix "-" -}}
{{- .Values.auth.token.privateKey.existingSecret -}}
{{- else -}}
{{- printf "%s-jwt-token" (include "global.fullname" .) | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{/*
Return true if a secret object should be created for the vc-authn-oidc token private key
*/}}
{{- define "vc-authn-oidc.token.createSecret" -}}
{{- if (empty .Values.auth.token.privateKey.existingSecret) }}
{{- true -}}
{{- end -}}
{{- end -}}

{{/*
Generate token private key
*/}}
@@ -217,7 +243,7 @@ Return the secret with vc-authn-oidc token private key
*/}}
{{- define "acapy.secretName" -}}
{{- if .Values.acapy.existingSecret -}}
{{- printf "%s" .Values.acapy.existingSecret | trunc 63 | trimSuffix "-" -}}
{{- .Values.acapy.existingSecret -}}
{{- else -}}
{{- printf "%s-acapy-secret" (include "global.fullname" .) | trunc 63 | trimSuffix "-" -}}
{{- end -}}
@@ -302,35 +328,27 @@ Create a default fully qualified app name for the postgres requirement.
Generate acapy wallet storage config
*/}}
{{- define "acapy.walletStorageConfig" -}}
{{- if and .Values.acapy.walletStorageConfig (not .Values.postgresql.enabled) (not index .Values "postgresql-ha" "enabled") -}}
{{- if .Values.acapy.walletStorageConfig.json -}}
{{- .Values.acapy.walletStorageConfig.json -}}
{{- else -}}
'{"url":"{{ .Values.acapy.walletStorageConfig.url }}","max_connections":"{{ .Values.acapy.walletStorageConfig.max_connection | default 10 }}"", "wallet_scheme":"{{ .Values.acapy.walletStorageConfig.wallet_scheme }}"}'
{{- end -}}
{{- else if and .Values.postgresql.enabled ( not ( index .Values "postgresql-ha" "enabled") ) -}}
'{"url":"{{ include "global.postgresql.fullname" . }}:{{ .Values.postgresql.primary.service.ports.postgresql }}","max_connections":"{{ .Values.acapy.walletStorageConfig.max_connections }}", "wallet_scheme":"{{ .Values.acapy.walletStorageConfig.wallet_scheme }}"}'
{{- else if and ( index .Values "postgresql-ha" "enabled" ) ( not .Values.postgresql.enabled ) -}}
'{"url":"{{ include "global.postgresql-ha.fullname" . }}:{{ index .Values "postgresql-ha" "service" "ports" "postgresql" }}","max_connections":"5", "wallet_scheme":"{{ .Values.acapy.walletScheme }}"}'
{{- .Values.acapy.walletStorageConfig.json -}}
{{- else if .Values.acapy.walletStorageConfig.url -}}
'{"url":"{{ .Values.acapy.walletStorageConfig.url }}","max_connections":"{{ .Values.acapy.walletStorageConfig.max_connection | default 10 }}", "wallet_scheme":"{{ .Values.acapy.walletStorageConfig.wallet_scheme }}"}'
{{- else if .Values.postgresql.enabled -}}
'{"url":"{{ include "global.postgresql.fullname" . }}:{{ .Values.postgresql.primary.service.ports.postgresql }}","max_connections":"{{ .Values.acapy.walletStorageConfig.max_connections }}","wallet_scheme":"{{ .Values.acapy.walletStorageConfig.wallet_scheme }}"}'
{{- else -}}
''
''
{{ end }}
{{- end -}}

{{/*
Generate acapy wallet storage credentials
*/}}
{{- define "acapy.walletStorageCredentials" -}}
{{- if and .Values.acapy.walletStorageCredentials (not .Values.postgresql.enabled) (not index .Values "postgresql-ha" "enabled") -}}
{{- if .Values.acapy.walletStorageCredentials.json -}}
{{- .Values.acapy.walletStorageCredentials.json -}}
{{- .Values.acapy.walletStorageCredentials.json -}}
{{- else if .Values.postgresql.enabled -}}
'{"account":"{{ .Values.postgresql.auth.username }}","password":"$(POSTGRES_PASSWORD)","admin_account":"{{ .Values.acapy.walletStorageCredentials.admin_account }}","admin_password":"$(POSTGRES_POSTGRES_PASSWORD)"}'
{{- else -}}
'{"account":"{{ .Values.acapy.walletStorageCredentials.account | default "acapy" }}","password":"{{ .Values.acapy.walletStorageCredentials.password }}", "admin_account":"{{ .Values.acapy.walletStorageCredentials.admin_account }}", "admin_password":"{{ .Values.acapy.walletStorageCredentials.admin_password }}"}'
{{- end -}}
{{- else if and .Values.postgresql.enabled ( not ( index .Values "postgresql-ha" "enabled") ) -}}
'{"account":"{{ .Values.postgresql.auth.username }}","password":"$(POSTGRES_PASSWORD)", "admin_account":"{{ .Values.acapy.walletStorageCredentials.admin_account }}", "admin_password":"$(POSTGRES_POSTGRES_PASSWORD)"}'
{{- else if and ( index .Values "postgresql-ha" "enabled" ) ( not .Values.postgresql.enabled ) -}}
'{"account":"{{ .Values.acapy.walletStorageCredentials.account | default "acapy" }}","password":"$(POSTGRES_PASSWORD)", "admin_account":"{{ .Values.acapy.walletStorageCredentials.admin_account }}", "admin_password":"$(POSTGRES_POSTGRES_PASSWORD)"}'
'{"account":"{{ .Values.acapy.walletStorageCredentials.account | default "acapy" }}","password":"$(POSTGRES_PASSWORD)","admin_account":"{{ .Values.acapy.walletStorageCredentials.admin_account }}","admin_password":"$(POSTGRES_POSTGRES_PASSWORD)"}'
{{- end -}}
{{- end -}}

@@ -346,12 +364,10 @@ Create the name of the acapy service account to use
{{- end }}

{{/*
Return seed
Return true if the seed secret should be created
*/}}
{{- define "acapy.seed" -}}
{{- if .Values.acapy.agentSeed -}}
{{- .Values.acapy.agentSeed }}
{{- else -}}
{{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "acapy.fullname" .) "Key" "seed" "Length" 32) }}
{{- define "acapy.seed.createSecret" -}}
{{- if not .Values.acapy.agentSeed.existingSecret -}}
{{- true -}}
{{- end -}}
{{- end -}}
14 changes: 0 additions & 14 deletions charts/vc-authn-oidc/templates/agent/database_secret.yaml

This file was deleted.

5 changes: 2 additions & 3 deletions charts/vc-authn-oidc/templates/agent/deployment.yaml
Original file line number Diff line number Diff line change
@@ -7,7 +7,6 @@ metadata:
{{- include "acapy.labels" . | nindent 4 }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/agent/configmap.yaml") . | sha256sum }}
checksum/db-secret: {{ include (print $.Template.BasePath "/agent/database_secret.yaml") . | sha256sum }}
checksum/acapy-secrets: {{ include (print $.Template.BasePath "/agent/secrets.yaml") . | sha256sum }}
spec:
{{- if not .Values.acapy.autoscaling.enabled }}
@@ -62,12 +61,12 @@ spec:
valueFrom:
secretKeyRef:
name: {{ template "acapy.database.secretName" . }}
key: {{ .Values.postgresql.auth.secretKeys.userPasswordKey }}
key: {{ .Values.acapy.walletStorageCredentials.secretKeys.userPasswordKey }}
- name: POSTGRES_POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "acapy.database.secretName" . }}
key: {{ .Values.postgresql.auth.secretKeys.adminPasswordKey }}
key: {{ .Values.acapy.walletStorageCredentials.secretKeys.adminPasswordKey }}
- name: WEBHOOK_API_KEY
valueFrom:
secretKeyRef:
17 changes: 10 additions & 7 deletions charts/vc-authn-oidc/templates/agent/secrets.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{{- if (include "acapy.createSecret" .) }}
{{ $secretName := include "acapy.secretName" . }}
{{ $adminApiKey := include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" $secretName "Key" "adminApiKey" "Length" 32) }}
{{ $walletKey := include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" $secretName "Key" "walletKey" "Length" 32) }}
apiVersion: v1
kind: Secret
metadata:
@@ -10,14 +14,12 @@ metadata:
type: Opaque
data:
{{- if not (index .Values "acapy" "argfile.yml" "admin-insecure-mode") }}
{{- if .Values.acapy.secret.adminApiKey.generated }}
adminApiKey: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "acapy.secretName" .) "Key" "adminApiKey" "Length" 32) }}
{{ else }}
adminApiKey: {{ include "common.secrets.lookup" (dict "secret" (include "acapy.secretName" .) "key" "adminApiKey" "defaultValue" .Values.acapy.secret.adminApiKey.value "context" $) }}
adminApiKey: {{ $adminApiKey }}
{{- end }}
{{- end }}
walletKey: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "acapy.secretName" .) "Key" "walletKey" "Length" 32) }}
walletKey: {{ $walletKey }}
{{- end }}
---
{{- if (include "acapy.seed.createSecret" .) }}
apiVersion: v1
kind: Secret
metadata:
@@ -29,4 +31,5 @@ metadata:
namespace: {{ .Release.Namespace }}
type: Opaque
data:
seed: {{ include "acapy.seed" . }}
seed: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "acapy.fullname" .) "Key" "seed" "Length" 32) }}
{{- end }}
10 changes: 10 additions & 0 deletions charts/vc-authn-oidc/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "global.fullname" . }}-controller-config
labels: {{- include "vc-authn-oidc.labels" . | nindent 4 }}
data:
sessiontimeout.json: |
{{ .Values.controller.sessionTimeout.config | toJson }}
user_variable_substitution.py: |
{{ .Values.controller.userVariableSubsitution | nindent 4 }}
23 changes: 21 additions & 2 deletions charts/vc-authn-oidc/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -36,6 +36,9 @@ spec:
secret:
secretName: {{ include "vc-authn-oidc.token.secretName" . }}
defaultMode: 256
- name: controller-config
configMap:
name: {{ include "global.fullname" . }}-controller-config
containers:
- name: {{ .Chart.Name }}
securityContext:
@@ -64,15 +67,27 @@ spec:
name: {{ include "vc-authn-oidc.apiSecretName" . }}
key: controllerApiKey
- name: CONTROLLER_CAMERA_REDIRECT_URL
value: {{ .Values.controllerCameraRedirectUrl }}
value: {{ .Values.controller.cameraRedirectUrl }}
- name: CONTROLLER_PRESENTATION_EXPIRE_TIME
value: {{ .Values.controllerPresentationExpireTime | quote }}
value: {{ .Values.controller.presentationExpireTime | quote }}
- name: CONTROLLER_SESSION_TIMEOUT_CONFIG_FILE
value: /etc/controller-config/sessiontimeout.json
- name: CONTROLLER_VARIABLE_SUBSTITUTION_OVERRIDE
value: /etc/controller-config/user_variable_substitution.py
- name: CONTROLLER_PRESENTATION_CLEANUP_TIME
value: {{ .Values.controller.sessionTimeout.duration | quote }}
- name: ACAPY_AGENT_URL
value: {{ include "acapy.agent.url" . }}
- name: ACAPY_ADMIN_URL
value: {{ include "acapy.internal.admin.url" . }}
- name: INVITATION_LABEL
value: {{ .Values.invitationLabel | quote }}
- name: USE_OOB_PRESENT_PROOF
value: {{ .Values.useOobPresentProof | quote }}
- name: USE_URL_DEEP_LINK
value: {{ .Values.useUrlDeepLink | quote }}
- name: WALLET_DEEP_LINK_PREFIX
value: {{ .Values.walletDeepLinkPrefix }}
- name: SET_NON_REVOKED
value: {{ .Values.setNonRevoked | quote }}
- name: ACAPY_TENANCY
@@ -106,15 +121,19 @@ spec:
httpGet:
path: /
port: http
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 30
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- name: jwt-token
mountPath: /opt/token
- name: controller-config
mountPath: /etc/controller-config
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{- if and .Values.acapy.networkPolicy.enabled .Values.acapy.networkPolicy.ingress.enabled -}}
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
kind: NetworkPolicy
metadata:
name: {{ include "acapy.fullname" . }}-ingress
6 changes: 2 additions & 4 deletions charts/vc-authn-oidc/templates/networkpolicy-agent.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{{- if .Values.networkPolicy.enabled -}}
apiVersion: v1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "global.fullname" . }}-agent-webhook
labels:
@@ -20,9 +19,8 @@ spec:
matchLabels:
{{- include "vc-authn-oidc.selectorLabels" . | nindent 6 }}
---
apiVersion: v1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "global.fullname" . }}-agent-access
labels:
6 changes: 2 additions & 4 deletions charts/vc-authn-oidc/templates/networkpolicy-db.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{{- if .Values.networkPolicy.enabled -}}
apiVersion: v1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "global.fullname" . }}-db
labels:
@@ -27,9 +26,8 @@ spec:
{{- toYaml . | nindent 6 }}
{{- end }}
---
apiVersion: v1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "acapy.fullname" . }}-db
labels:
3 changes: 1 addition & 2 deletions charts/vc-authn-oidc/templates/networkpolicy-ingress.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{{- if or .Values.networkPolicy.enabled .Values.networkPolicy.ingress.enabled -}}
apiVersion: v1
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
metadata:
name: {{ include "global.fullname" . }}-ingress
labels:
22 changes: 16 additions & 6 deletions charts/vc-authn-oidc/templates/secrets.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
{{- if (include "vc-authn-oidc.database.createSecret" .) -}}
{{ $databaseSecretName := (include "vc-authn-oidc.databaseSecretName" .) }}
{{ $mongoRootPassword := include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" $databaseSecretName "Key" "mongodb-root-password" "Length" 32) }}
{{ $mongoReplicaSetKey := include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" $databaseSecretName "Key" "mongodb-replica-set-key" "Length" 32) }}
{{ $mongoPasswords := include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" $databaseSecretName "Key" "mongodb-passwords" "Length" 32) }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "vc-authn-oidc.databaseSecretName" . }}
name: {{ $databaseSecretName }}
labels:
{{- include "vc-authn-oidc.labels" . | nindent 4 }}
annotations:
"helm.sh/resource-policy": keep
namespace: {{ .Release.Namespace }}
type: Opaque
data:
mongodb-root-password: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "vc-authn-oidc.databaseSecretName" .) "Key" "mongodb-root-password" "Length" 32) }}
mongodb-replica-set-key: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "vc-authn-oidc.databaseSecretName" .) "Key" "mongodb-replica-set-key" "Length" 32) }}
mongodb-passwords: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "vc-authn-oidc.databaseSecretName" .) "Key" "mongodb-passwords" "Length" 32) }}
mongodb-root-password: {{ $mongoRootPassword }}
mongodb-replica-set-key: {{ $mongoReplicaSetKey }}
mongodb-passwords: {{ $mongoPasswords }}
{{- end }}
---
{{- if (include "vc-authn-oidc.api.createSecret" .) -}}
{{- $apiSecretName := include "vc-authn-oidc.apiSecretName" . -}}
{{- $controllerApiKey := include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" $apiSecretName "Key" "controllerApiKey" "Length" 32) }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "vc-authn-oidc.apiSecretName" . }}
name: {{ $apiSecretName }}
labels:
{{- include "vc-authn-oidc.labels" . | nindent 4 }}
annotations:
"helm.sh/resource-policy": keep
namespace: {{ .Release.Namespace }}
type: Opaque
data:
controllerApiKey: {{ include "getOrGeneratePass" (dict "Namespace" .Release.Namespace "Kind" "Secret" "Name" (include "vc-authn-oidc.apiSecretName" .) "Key" "controllerApiKey" "Length" 32) }}
controllerApiKey: {{ $controllerApiKey }}
{{- end }}
98 changes: 59 additions & 39 deletions charts/vc-authn-oidc/values.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## @section Common Configuration
##
## @param nameOverride
## @param nameOverride String to override the helm chart name, second part of the prefix.
nameOverride: ""
## @param fullnameOverride
## @param fullnameOverride String to fully override the helm chart name, full prefix. *Must be provided if using a custom release name that does not include the name of the helm chart (`vc-authn-oidc`).*
fullnameOverride: ""

## @param image.repository
@@ -26,27 +26,64 @@ ingressSuffix: .apps.silver.devops.gov.bc.ca
acapyTenancyMode: single
## @param setNonRevoked if True, the `non_revoked` attributed will be added to each of the present-proof request `requested_attribute` and `requested_predicate` with 'from=0' and'to=`int(time.time())`
setNonRevoked: true
## @param invitationLabel For the invitations sent that include the proof, what to add as the my_label field. Can be used to identify the requester to the prover
invitationLabel: VC-AuthN
## @param useOobPresentProof if True, the present-proof request will be provided as a an [out of band](https://github.com/hyperledger/aries-rfcs/tree/main/features/0434-outofband) invitation with a [present-proof](https://github.com/hyperledger/aries-rfcs/tree/main/features/0037-present-proof) request inside. If False, the present-proof request will be use the [service-decorator](https://github.com/hyperledger/aries-rfcs/tree/main/features/0056-service-decorator)
useOobPresentProof: false
## @param useOobLocalDIDService
useOobLocalDIDService: false
## @param controllerCameraRedirectUrl The redirect url can be a web link or the name of a template
controllerCameraRedirectUrl: wallet_howto
## @param controllerPresentationExpireTime The number of time in seconds a proof request will be valid for
controllerPresentationExpireTime: 300
## @param useUrlDeepLink if True, will use the new encoded URL (e.g. bcwallet://aries_proof-request?_url={redirect URL}) redirect form of the deep link
useUrlDeepLink: false
## @param walletDeepLinkPrefix URI scheme and host to use in deep links ((e.g. `{WALLET_DEEP_LINK_PREFIX}?c_i={connection invitation payload`))
walletDeepLinkPrefix: bcwallet://aries_proof-request
## @param controller.cameraRedirectUrl The redirect url can be a web link or the name of a template
## @param controller.presentationExpireTime The number of time in seconds a proof request will be valid for
## @param controller.sessionTimeout.duration The number of seconds an auth_sessions in the states defined in controllerSessionTimeoutConfig is kept for
## @param controller.sessionTimeout.config The json list of auth session states that are safe for deletion
## @param controller.uservariablesubsitution The placeholder for the user variable substitution file that can be used to add substitution variables
controller:
cameraRedirectUrl: wallet_howto
presentationExpireTime: 300
sessionTimeout:
duration: 86400
config:
- expired
- failed
- abandoned
userVariableSubsitution: |-
# This is a default placeholder Python file
# Add any extensions to user variables here. Example below:
# def sub_days_plus_one(days: str) -> int:
# """Strings like '$sub_days_plus_one_4' will be replaced with the
# final number incremented by one. In this case 5.
# $sub_days_plus_one_4 -> 5
# $sub_days_plus_one_10 -> 11"""
# return int(days) + 1
# variable_substitution_map.add_variable_substitution(
# r"\$sub_days_plus_one_(\d+)", sub_days_plus_one
# )
## @param useHTTPS Prepend Agent and Admin URLs with `https`
useHTTPS: true
## @param logLevel Accepts one of the following values: CRITICAL, ERROR, WARNING, INFO, DEBUG
logLevel: INFO

## @param auth.api.existingSecret Specify the name of the secret containing `controllerApiKey` key.
## @param auth.token.privateKey.filename Specify the name of the signing key file
## @param auth.token.privateKey.existingSecret Specify the name of the secret containing the signing key to be mounted, if not specified, a new secret will be created.
auth:
api:
existingSecret: ""
token:
privateKey:
filename: jwt-token.pem
existingSecret: ""

## @param database.secret.existingSecret Specify existing secret containing the keys `mongodb-root-password`, `mongodb-replica-set-key`, and `mongodb-passwords`. `database.secret.create` must be set to `false` when using existing secret.
database:
existingSecret: ""

## @param podAnnotations Map of annotations to add to the acapy pods
##
podAnnotations: {}
@@ -193,18 +230,20 @@ acapy:
adminUrl: ""
## @param acapy.existingSecret Name of existing secret, required if `enabled` is `false`; Secret must contain `adminApiKey`, `walletKey`, and `webhookApiKey` keys.
existingSecret: ""
## @param acapy.agentSeed
agentSeed: ""
## @param acapy.agentSeed.existingSecret Name of existing secret with the 'seed' key.
agentSeed:
existingSecret: ""

## @param acapy.image.repository
## @param acapy.image.pullPolicy
## @param acapy.image.pullSecrets [array]
## @param acapy.image.tag
##
image:
repository: ghcr.io/hyperledger/aries-cloudagent-python
repository: ghcr.io/openwallet-foundation/acapy-agent
pullPolicy: IfNotPresent
pullSecrets: []
tag: py3.9-0.12.0rc0
tag: py3.12-1.2.1

## ServiceAccount configuration
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
@@ -337,18 +376,22 @@ acapy:
##
## @param acapy.walletStorageCredentials.json Raw json with database credentials. Overrides all other values including postgres subchart values. e.g.: '{"account":"postgres","password":"mysecretpassword","admin_account":"postgres","admin_password":"mysecretpassword"}'
## @param acapy.walletStorageCredentials.account Database account name.
## @param acapy.walletStorageCredentials.password Database password.
## @param acapy.walletStorageCredentials.admin_account Database account with CREATEDB role used to create additional databases per wallet.
## @param acapy.walletStorageCredentials.admin_password Database password for admin account.
## @param acapy.walletStorageCredentials.existingSecret Name of an existing secret containing 'database-user', 'database-password', 'admin-password' keys.
## @param acapy.walletStorageCredentials.secretKeys.adminPasswordKey Key in existing secret containing admin password.
## @param acapy.walletStorageCredentials.secretKeys.userPasswordKey Key in existing secret containing password .
##
walletStorageCredentials:
json: ""
account: ""
password: ""
admin_account: postgres
admin_password: ""
existingSecret: ""
secretKeys:
adminPasswordKey: postgres-password
userPasswordKey: password

## @section Acapy tails persistence configuration
persistence:
## @param acapy.persistence.existingClaim Name of an existing PVC to use
@@ -372,6 +415,7 @@ acapy:
## @param acapy.persistence.size PVC Storage Request for tails volume
##
size: 1Gi

## @section Acapy common configurations
## Acapy resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
@@ -510,17 +554,6 @@ acapy:
##
wildcardPolicy: None

## Acapy secret configuration
##
secret:
adminApiKey:
## @param acapy.secret.adminApiKey.generated Generate admin api key
##
generated: true
## @param acapy.secret.adminApiKey.value Override admin api key
##
value: ""

## Overrides for bitnami/mongodb chart - https://github.com/bitnami/charts/tree/main/bitnami/mongodb
mongodb:
auth:
@@ -617,21 +650,12 @@ postgresql:
## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql#creating-a-database-user-on-first-run
##
auth:
## @param postgresql.auth.enablePostgresUser Assign a password to the "postgres" admin user. Otherwise, remote access will be blocked for this user
## @param postgresql.auth.enablePostgresUser Assign a password to the "postgres" admin user. Otherwise, remote access will be blocked for this user. Not recommended for production deployments.
##
enablePostgresUser: true
## @param postgresql.auth.existingSecret Name of existing secret to use for PostgreSQL credentials. `postgresql.auth.postgresPassword`, `postgresql.auth.password`, and `postgresql.auth.replicationPassword` will be ignored and picked up from this secret. The secret might also contains the key `ldap-password` if LDAP is enabled. `ldap.bind_password` will be ignored and picked from this secret in this case.
##
existingSecret: '{{ include "global.fullname" . }}'
## @param postgresql.auth.secretKeys.adminPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set.
## @param postgresql.auth.secretKeys.userPasswordKey Name of key in existing secret to use for PostgreSQL credentials. Only used when `auth.existingSecret` is set.
##
secretKeys:
adminPasswordKey: admin-password
userPasswordKey: database-password
## @param postgresql.auth.database Name for a custom database to create
##
database: traction
database: askar-wallet
## @param postgresql.auth.username Name for a custom user to create
##
username: acapy
@@ -646,7 +670,7 @@ postgresql:
enabled: true
## @param postgresql.primary.persistence.size PVC Storage Request for PostgreSQL volume
##
size: 1Gi
size: 5Gi
## Container Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
## @param postgresql.primary.containerSecurityContext.enabled Enable container security context
@@ -684,7 +708,3 @@ postgresql:
primary:
extendedConfiguration: |
max_connections = 500
## @param postgresql-ha.enabled Deploy HA PostgreSQL chart. Not currently supported, provided for future use.
postgresql-ha:
enabled: false
4 changes: 1 addition & 3 deletions demo/vue/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
# Demo App

This demo is based on https://github.com/bcgov/vue-scaffold
# ACAPy VC-AuthN OIDC Demo App
15 changes: 1 addition & 14 deletions demo/vue/app/config/custom-environment-variables.json
Original file line number Diff line number Diff line change
@@ -23,18 +23,5 @@
"logFile": "SERVER_LOGFILE",
"logLevel": "SERVER_LOGLEVEL",
"port": "SERVER_PORT"
},
"serviceClient": {
"commonServices": {
"ches": {
"endpoint": "SC_CS_CHES_ENDPOINT"
},
"cdogs": {
"endpoint": "SC_CS_CDOGS_ENDPOINT"
},
"tokenEndpoint": "SC_CS_TOKEN_ENDPOINT",
"username": "SC_CS_USERNAME",
"password": "SC_CS_PASSWORD"
}
}
}
}
21 changes: 5 additions & 16 deletions demo/vue/app/config/default.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,19 @@
{
"frontend": {
"apiPath": "api/v1",
"basePath" : "/app",
"basePath": "/app",
"keycloak": {
"serverUrl": "https://dev.oidc.gov.bc.ca/auth"
"serverUrl": ""
}
},
"server": {
"apiPath": "/api/v1",
"basePath" : "/app",
"basePath": "/app",
"bodyLimit": "30mb",
"keycloak": {
"serverUrl": "https://dev.oidc.gov.bc.ca/auth"
"serverUrl": ""
},
"logLevel": "http",
"port": "8080"
},
"serviceClient": {
"commonServices": {
"ches": {
"endpoint": "https://ches-dev.pathfinder.gov.bc.ca/api"
},
"cdogs": {
"endpoint": "https://cdogs-dev.pathfinder.gov.bc.ca/api"
},
"tokenEndpoint": "https://dev.oidc.gov.bc.ca/auth/realms/jbd6rnxw/protocol/openid-connect/token"
}
}
}
}
6 changes: 0 additions & 6 deletions demo/vue/app/config/test.json
Original file line number Diff line number Diff line change
@@ -12,11 +12,5 @@
"clientSecret": "password"
},
"logLevel": "silent"
},
"serviceClient": {
"commonServices": {
"username": "username",
"password": "password"
}
}
}
1,166 changes: 845 additions & 321 deletions demo/vue/app/frontend/package-lock.json

Large diffs are not rendered by default.

19 changes: 9 additions & 10 deletions demo/vue/app/frontend/package.json
Original file line number Diff line number Diff line change
@@ -17,13 +17,12 @@
"reinstall": "npm run purge && npm install"
},
"dependencies": {
"@babel/eslint-parser": "^7.24.5",
"@bcgov/bc-sans": "^2.1.0",
"@vue/eslint-config-prettier": "^9.0.0",
"axios": "^1.6.8",
"core-js": "^3.37.0",
"@babel/eslint-parser": "^7.26.5",
"@vue/eslint-config-prettier": "^10.2.0",
"axios": "^1.7.9",
"core-js": "^3.40.0",
"eslint": "^8.57.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-prettier": "^5.2.3",
"keycloak-js": "^15.1.1",
"nprogress": "^0.2.0",
"vue": "^2.7.16",
@@ -38,12 +37,12 @@
"@vue/cli-plugin-unit-jest": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@vue/test-utils": "^1.3.0",
"axios-mock-adapter": "^1.22.0",
"eslint-plugin-vue": "^9.25.0",
"axios-mock-adapter": "^2.1.0",
"eslint-plugin-vue": "^9.32.0",
"eslint-plugin-vuetify": "^1.1.0",
"lodash": "^4.17.21",
"prettier": "^3.2.5",
"sass": "^1.75.0",
"prettier": "^3.4.2",
"sass": "^1.83.4",
"sass-loader": "^14.2.1",
"vue-cli-plugin-vuetify": "^2.5.8",
"vue-template-compiler": "^2.7.16",
Binary file modified demo/vue/app/frontend/public/favicon.ico
Binary file not shown.
18 changes: 9 additions & 9 deletions demo/vue/app/frontend/src/App.vue
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
<template>
<v-app>
<BCGovHeader />
<BCGovNavBar />
<OWFHeader />
<OWFNavBar />

<v-main>
<transition name="component-fade" mode="out-in">
<router-view />
</transition>
</v-main>

<BCGovFooter />
<OWFFooter />
</v-app>
</template>

<script>
import BCGovHeader from '@/components/bcgov/BCGovHeader.vue';
import BCGovFooter from '@/components/bcgov/BCGovFooter.vue';
import BCGovNavBar from '@/components/bcgov/BCGovNavBar.vue';
import OWFHeader from '@/components/owf/OWFHeader.vue';
import OWFFooter from '@/components/owf/OWFFooter.vue';
import OWFNavBar from '@/components/owf/OWFNavBar.vue';
export default {
name: 'App',
components: {
BCGovHeader,
BCGovFooter,
BCGovNavBar
OWFHeader,
OWFFooter,
OWFNavBar
}
};
</script>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion demo/vue/app/frontend/src/assets/images/bc_logo.svg

This file was deleted.

1 change: 0 additions & 1 deletion demo/vue/app/frontend/src/assets/images/bc_logo_print.svg

This file was deleted.

22 changes: 0 additions & 22 deletions demo/vue/app/frontend/src/assets/images/bc_logo_square.svg

This file was deleted.

23 changes: 11 additions & 12 deletions demo/vue/app/frontend/src/assets/scss/style.scss
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
/*
* BCGov Style
* This globally extends the base Vuetify style
*/
@import '~vuetify/src/styles/styles.sass';

// Variables
$bcgov-blue: #003366;
$bcgov-blue-secondary: #38598a;
$bcgov-orange: #fcba19;
$bcgov-grey: #efefef;
$bcgov-font: #494949;
$custom-blue: #4066B2;
$custom-blue-secondary: #003399;
$custom-lightblue: #BFCBE5;
$custom-grey: #efefef;
$custom-font: #252525;

// Sticky Footer
body {
@@ -33,12 +32,12 @@ h3 { font-size: 1.3em; }
h4 { font-size: 1.05em; }

h1, h2, h3, h4, h5 {
color: $bcgov-font;
color: $custom-font;
line-height: 1.2;
}

p {
color: $bcgov-font;
color: $custom-font;
line-height: 1.4;
}

@@ -47,7 +46,7 @@ hr {
border-top: 1px solid lightgrey;
margin-bottom: 1em;
.orange {
border-top: 2px solid $bcgov-orange;
border-top: 2px solid $custom-lightblue;
}
}

@@ -95,19 +94,19 @@ a, .v-tab {
// Stepper
.silv-stepper {
.header-row {
background-color: $bcgov-grey !important;
background-color: $custom-grey !important;
}
&.v-stepper--alt-labels {
.v-stepper__step {
padding-left: 0;
padding-right: 0;
.v-stepper__label {
color: $bcgov-font;
color: $custom-font;
font-size: .75em;
}
&.v-stepper__step--active {
.v-stepper__label{
color: $bcgov-font;
color: $custom-font;
font-weight: bold;
}
}
7 changes: 5 additions & 2 deletions demo/vue/app/frontend/src/components/base/BaseAuthButton.vue
Original file line number Diff line number Diff line change
@@ -30,7 +30,10 @@ export default {
login() {
if (this.keycloakReady) {
window.location.replace(
this.createLoginUrl() + '&pres_req_conf_id=' + this.presReqConfId
this.createLoginUrl() +
'&pres_req_conf_id=' +
this.presReqConfId +
'&back_to_url=http://localhost:8080/',
);
}
},
@@ -39,7 +42,7 @@ export default {
window.location.replace(
this.createLogoutUrl({
redirectUri: `${location.origin}/${this.$config.basePath}`,
})
}),
);
}
},
59 changes: 0 additions & 59 deletions demo/vue/app/frontend/src/components/bcgov/BCGovFooter.vue

This file was deleted.

50 changes: 50 additions & 0 deletions demo/vue/app/frontend/src/components/owf/OWFFooter.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<template>
<v-footer class="owf-footer d-print-none">
<v-btn text id="footer-home" href="https://openwallet.foundation">
<span>Home</span>
</v-btn>
<v-btn text id="footer-about" href="https://openwallet.foundation/governing-board">
<span>About OpenWallet Foundation</span>
</v-btn>
<v-btn text id="footer-disclaimer" href="https://openwallet.foundation/participate">
<span>Participate</span>
</v-btn>
<v-btn text id="footer-privacy" href="https://openwallet.foundation/projects">
<span>Projects</span>
</v-btn>
</v-footer>
</template>

<script>
export default {
name: 'OWFFooter'
};
</script>

<style lang="scss" scoped>
.owf-footer {
background-color: #003366 !important;
border-top: 2px solid #fcba19;
flex-shrink: 0;
min-height: 2.5rem;
min-width: 100%;
padding-bottom: 0;
padding-top: 0;
a {
color: #ffffff;
font-size: 1rem;
&:focus {
outline: none;
}
}
.v-btn__content > span {
color: #ffffff;
font-size: 1rem;
font-weight: normal;
text-decoration: none;
text-transform: none;
}
}
</style>
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<template>
<header class="gov-header">
<header class="owf-header">
<!-- header for browser print only -->
<div class="printHeader d-none d-print-block">
<img
alt="B.C. Government Logo"
alt="OpenWallet Foundation Logo"
class="mr-1 d-inline-block"
contain
:src="PrintLogo"
@@ -17,21 +17,21 @@
</div>
<v-toolbar color="#003366" flat class="px-md-12 d-print-none">
<!-- Navbar content -->
<a href="https://www2.gov.bc.ca" data-test="btn-header-logo">
<a href="https://openwallet.foundation" data-test="btn-header-logo">
<v-img
alt="B.C. Government Logo"
alt="OpenWallet Foundation Logo"
class="d-none d-sm-flex d-md-none"
contain
height="3.5rem"
src="@/assets/images/bc_logo_square.svg"
src="@/assets/images/OpenWallet_Foundation_Logo_Color.svg"
width="3.5rem"
/>
<v-img
alt="B.C. Government Logo"
alt="OpenWallet Foundation Logo"
class="d-none d-md-flex"
contain
height="3.5rem"
src="@/assets/images/bc_logo.svg"
src="@/assets/images/OpenWallet_Foundation_Logo_Color.svg"
width="10rem"
/>
</a>
@@ -48,10 +48,10 @@
</template>

<script>
import PrintLogo from '@/assets/images/bc_logo_print.svg';
import PrintLogo from '@/assets/images/OpenWallet_Foundation_Logo_Color.svg';
export default {
name: 'BCGovHeader',
name: 'OWFHeader',
data() {
return {
PrintLogo: PrintLogo,
@@ -70,7 +70,7 @@ export default {
<style lang="scss" scoped>
@import '@/assets/scss/style.scss';
.gov-header {
.owf-header {
.printHeader {
align-items: center;
img {
@@ -83,7 +83,7 @@ export default {
}
}
@media not print {
border-bottom: 2px solid #fcba19;
border-bottom: 2px solid $custom-lightblue;
}
.text-h6 {
font-family: inherit !important;
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@

<script>
export default {
name: 'BCGovNavBar'
name: 'OWFNavBar'
};
</script>

1 change: 0 additions & 1 deletion demo/vue/app/frontend/src/main.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'nprogress/nprogress.css';
import '@bcgov/bc-sans/css/BCSans.css';
import '@/assets/scss/style.scss';

import axios from 'axios';
2 changes: 1 addition & 1 deletion demo/vue/app/frontend/src/router/index.js
Original file line number Diff line number Diff line change
@@ -88,7 +88,7 @@ export default function getRouter(basePath = '/') {
document.title = to.meta.title
? to.meta.title
: process.env.VUE_APP_TITLE;
} else document.title = 'Demo VC-Authn-OIDC App'; // default title
} else document.title = 'Demo ACAPy VC-Authn-OIDC App'; // default title

if (to.query.r && isFirstTransition) {
router.replace({
2 changes: 1 addition & 1 deletion demo/vue/app/frontend/src/store/modules/auth.js
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ export default {
// In most cases, when this becomes populated, we end up doing a redirect flow,
// so when we return to the app, it is fresh again and undefined
redirectUri: undefined,
presReqConfId: 'showcase-person', //TODO: load this via config response
presReqConfId: 'test-proof', //TODO: load this via config response
},
getters: {
authenticated: () => Vue.prototype.$keycloak.authenticated,
12 changes: 4 additions & 8 deletions demo/vue/app/frontend/src/views/Home.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<template>
<v-container>
<h1 class="my-6 text-center">Welcome to vc-authn-oidc demo application.</h1>
<h1 class="my-6 text-center">Welcome to acapy-vc-authn-oidc demo application.</h1>
<h2>Pre-requisites</h2>
<br />
<h4>Mobile Wallet</h4>
<ul>
<li>
Download BC Wallet to a mobile device
Download a mobile wallet such as BC Wallet
<a
href="https://www2.gov.bc.ca/gov/content/governments/government-id/bc-wallet"
>https://www2.gov.bc.ca/gov/content/governments/government-id/bc-wallet</a
@@ -22,7 +22,7 @@
<h4>ACA-Py Wallet:</h4>
<ul>
<li>
Wallet needs a public did (for connectionless present-proof requests)
Wallet needs a public did (for connection-less present-proof requests)
</li>
</ul>
<br />
@@ -31,13 +31,9 @@
<ul>
<li>
Navigate to the controller
<a href="http://localhost:5201/docs">swagger</a> and POST to
<a href="http://localhost:5000/docs">swagger</a> and POST to
'/ver_configs' with the default payload
</li>
<li>
Click "Login" in the top right, then click "Verifiable Credential
Access"
</li>
</ul>
<br />
<br />
21 changes: 0 additions & 21 deletions demo/vue/app/frontend/tests/unit/App.spec.js

This file was deleted.

39 changes: 0 additions & 39 deletions demo/vue/app/frontend/tests/unit/components/HelloCall.spec.js

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

115 changes: 0 additions & 115 deletions demo/vue/app/frontend/tests/unit/components/base/BaseSecure.spec.js

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions demo/vue/app/frontend/tests/unit/globalSetup.js

This file was deleted.

17 changes: 0 additions & 17 deletions demo/vue/app/frontend/tests/unit/router/index.spec.js

This file was deleted.

30 changes: 0 additions & 30 deletions demo/vue/app/frontend/tests/unit/services/helloService.spec.js

This file was deleted.

8 changes: 0 additions & 8 deletions demo/vue/app/frontend/tests/unit/store/index.spec.js

This file was deleted.

117 changes: 0 additions & 117 deletions demo/vue/app/frontend/tests/unit/store/modules/auth.actions.spec.js

This file was deleted.

195 changes: 0 additions & 195 deletions demo/vue/app/frontend/tests/unit/store/modules/auth.getters.spec.js

This file was deleted.

This file was deleted.

21 changes: 0 additions & 21 deletions demo/vue/app/frontend/tests/unit/views/Home.spec.js

This file was deleted.

25 changes: 0 additions & 25 deletions demo/vue/app/frontend/tests/unit/views/NotFound.spec.js

This file was deleted.

21 changes: 0 additions & 21 deletions demo/vue/app/frontend/tests/unit/views/Secure.spec.js

This file was deleted.

Loading