Skip to content

Commit

Permalink
Merge pull request #99 from FraunhoferISST/feat/idp
Browse files Browse the repository at this point in the history
Feat: add Identity Provider to Frontend
  • Loading branch information
mhellmeier authored Dec 18, 2023
2 parents 6a8b1f0 + a8ad071 commit c9b4bd3
Show file tree
Hide file tree
Showing 30 changed files with 2,937 additions and 489 deletions.
37 changes: 21 additions & 16 deletions DEPENDENCIES_FRONTEND
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ npm/npmjs/-/acorn-jsx/5.3.2, MIT, approved, clearlydefined
npm/npmjs/-/acorn-node/1.8.2, Apache-2.0, approved, clearlydefined
npm/npmjs/-/acorn-walk/7.2.0, MIT, approved, clearlydefined
npm/npmjs/-/acorn/7.4.1, MIT, approved, clearlydefined
npm/npmjs/-/acorn/8.7.1, MIT, approved, clearlydefined
npm/npmjs/-/acorn/8.11.2, MIT, approved, clearlydefined
npm/npmjs/-/ajv/6.12.6, MIT, approved, #979
npm/npmjs/-/ansi-regex/5.0.1, MIT, approved, clearlydefined
npm/npmjs/-/ansi-styles/4.3.0, MIT, approved, clearlydefined
Expand All @@ -11,6 +11,7 @@ npm/npmjs/-/arg/5.0.2, MIT, approved, clearlydefined
npm/npmjs/-/argparse/2.0.1, Python-2.0, approved, CQ22954
npm/npmjs/-/autoprefixer/10.4.7, MIT, approved, #7494
npm/npmjs/-/balanced-match/1.0.2, MIT, approved, clearlydefined
npm/npmjs/-/base64-js/1.5.1, MIT, approved, clearlydefined
npm/npmjs/-/binary-extensions/2.2.0, MIT, approved, clearlydefined
npm/npmjs/-/boolbase/1.0.0, ISC, approved, clearlydefined
npm/npmjs/-/brace-expansion/1.1.11, MIT, approved, clearlydefined
Expand Down Expand Up @@ -62,14 +63,14 @@ npm/npmjs/-/escalade/3.1.1, MIT, approved, clearlydefined
npm/npmjs/-/escape-string-regexp/4.0.0, MIT, approved, clearlydefined
npm/npmjs/-/eslint-config-prettier/8.5.0, MIT, approved, clearlydefined
npm/npmjs/-/eslint-plugin-prettier/4.2.1, MIT, approved, clearlydefined
npm/npmjs/-/eslint-plugin-vue/9.1.1, MIT, approved, #5872
npm/npmjs/-/eslint-scope/7.1.1, BSD-2-Clause, approved, clearlydefined
npm/npmjs/-/eslint-plugin-vue/9.18.1, MIT, approved, #11440
npm/npmjs/-/eslint-scope/7.2.2, BSD-2-Clause, approved, #9916
npm/npmjs/-/eslint-utils/3.0.0, MIT, approved, #2431
npm/npmjs/-/eslint-visitor-keys/2.1.0, Apache-2.0, approved, #2433
npm/npmjs/-/eslint-visitor-keys/3.3.0, Apache-2.0, approved, #2696
npm/npmjs/-/eslint-visitor-keys/3.4.3, Apache-2.0, approved, #7729
npm/npmjs/-/eslint/8.19.0, MIT, approved, #5874
npm/npmjs/-/espree/9.3.2, BSD-2-Clause AND BSD-3-Clause AND MIT, approved, #2697
npm/npmjs/-/esquery/1.4.0, BSD-3-Clause, approved, #1100
npm/npmjs/-/espree/9.6.1, BSD-2-Clause AND BSD-3-Clause AND MIT AND BSD-2-Clause, approved, #9308
npm/npmjs/-/esquery/1.5.0, BSD-3-Clause, approved, #7469
npm/npmjs/-/esrecurse/4.3.0, BSD-2-Clause, approved, clearlydefined
npm/npmjs/-/estraverse/5.3.0, BSD-2-Clause AND MIT, approved, #1557
npm/npmjs/-/estree-walker/2.0.2, MIT, approved, clearlydefined
Expand All @@ -92,11 +93,11 @@ npm/npmjs/-/functional-red-black-tree/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/glob-parent/5.1.2, ISC, approved, clearlydefined
npm/npmjs/-/glob-parent/6.0.2, ISC, approved, clearlydefined
npm/npmjs/-/glob/7.2.3, ISC, approved, clearlydefined
npm/npmjs/-/globals/13.16.0, MIT, approved, clearlydefined
npm/npmjs/-/globals/13.24.0, MIT, approved, #11962
npm/npmjs/-/good-listener/1.2.2, MIT, approved, clearlydefined
npm/npmjs/-/has-flag/4.0.0, MIT, approved, clearlydefined
npm/npmjs/-/has/1.0.3, MIT, approved, #10930
npm/npmjs/-/ignore/5.2.0, MIT, approved, #5907
npm/npmjs/-/ignore/5.3.0, MIT, approved, #11665
npm/npmjs/-/import-fresh/3.3.0, MIT, approved, clearlydefined
npm/npmjs/-/imurmurhash/0.1.4, MIT, approved, clearlydefined
npm/npmjs/-/inflight/1.0.6, ISC, approved, clearlydefined
Expand All @@ -107,9 +108,12 @@ npm/npmjs/-/is-extglob/2.1.1, MIT, approved, clearlydefined
npm/npmjs/-/is-glob/4.0.3, MIT, approved, clearlydefined
npm/npmjs/-/is-number/7.0.0, MIT, approved, clearlydefined
npm/npmjs/-/isexe/2.0.0, ISC, approved, clearlydefined
npm/npmjs/-/js-sha256/0.10.1, MIT, approved, clearlydefined
npm/npmjs/-/js-yaml/4.1.0, MIT, approved, clearlydefined
npm/npmjs/-/json-schema-traverse/0.4.1, MIT, approved, clearlydefined
npm/npmjs/-/json-stable-stringify-without-jsonify/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/jwt-decode/4.0.0, MIT, approved, clearlydefined
npm/npmjs/-/keycloak-js/23.0.0, Apache-2.0 AND MIT AND EPL-1.0 AND LicenseRef-scancode-oasis-ws-security-spec AND W3C AND LicenseRef-scancode-ws-policy-specification AND W3C AND W3C-19980720 AND (AFL-2.1 OR LGPL-2.0-only) AND (Apache-2.0 AND MIT) AND (Apache-2.0 AND MIT), approved, #11737
npm/npmjs/-/levn/0.4.1, MIT, approved, clearlydefined
npm/npmjs/-/lilconfig/2.0.5, MIT, approved, clearlydefined
npm/npmjs/-/lodash.merge/4.6.2, MIT, approved, clearlydefined
Expand All @@ -129,7 +133,7 @@ npm/npmjs/-/normalize-range/0.1.2, MIT, approved, clearlydefined
npm/npmjs/-/nth-check/2.1.1, BSD-2-Clause, approved, clearlydefined
npm/npmjs/-/object-hash/3.0.0, MIT, approved, clearlydefined
npm/npmjs/-/once/1.4.0, ISC, approved, clearlydefined
npm/npmjs/-/optionator/0.9.1, MIT, approved, #9208
npm/npmjs/-/optionator/0.9.3, MIT, approved, #9208
npm/npmjs/-/parent-module/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/path-is-absolute/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/path-key/3.1.1, MIT, approved, clearlydefined
Expand All @@ -141,13 +145,13 @@ npm/npmjs/-/postcss-import/14.1.0, MIT, approved, clearlydefined
npm/npmjs/-/postcss-js/4.0.0, MIT, approved, clearlydefined
npm/npmjs/-/postcss-load-config/3.1.4, MIT, approved, clearlydefined
npm/npmjs/-/postcss-nested/5.0.6, MIT, approved, clearlydefined
npm/npmjs/-/postcss-selector-parser/6.0.10, MIT, approved, #5056
npm/npmjs/-/postcss-selector-parser/6.0.13, MIT, approved, #5056
npm/npmjs/-/postcss-value-parser/4.2.0, MIT, approved, clearlydefined
npm/npmjs/-/postcss/8.4.31, MIT, approved, #3545
npm/npmjs/-/prelude-ls/1.2.1, MIT, approved, clearlydefined
npm/npmjs/-/prettier-linter-helpers/1.0.0, MIT, approved, clearlydefined
npm/npmjs/-/prettier/2.7.1, MIT AND (0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-SA-4.0 AND ISC AND MIT) AND BSD-2-Clause, approved, #3238
npm/npmjs/-/punycode/2.1.1, MIT, approved, clearlydefined
npm/npmjs/-/punycode/2.3.1, MIT, approved, #6373
npm/npmjs/-/queue-microtask/1.2.3, MIT, approved, clearlydefined
npm/npmjs/-/quick-lru/5.1.1, MIT, approved, clearlydefined
npm/npmjs/-/read-cache/1.0.0, MIT, approved, clearlydefined
Expand Down Expand Up @@ -179,21 +183,22 @@ npm/npmjs/-/type-fest/0.20.2, MIT OR (CC0-1.0 AND MIT), approved, clearlydefined
npm/npmjs/-/update-browserslist-db/1.0.4, MIT, approved, #8237
npm/npmjs/-/uri-js/4.4.1, BSD-2-Clause, approved, #1086
npm/npmjs/-/util-deprecate/1.0.2, MIT, approved, #5885
npm/npmjs/-/v8-compile-cache/2.3.0, MIT, approved, clearlydefined
npm/npmjs/-/v8-compile-cache/2.4.0, MIT, approved, clearlydefined
npm/npmjs/-/vite/2.9.16, MIT AND ISC AND Apache-2.0 AND BSD-2-Clause AND CC0-1.0 AND (BSD-3-Clause OR GPL-2.0-only), approved, #5873
npm/npmjs/-/vue-eslint-parser/9.0.3, MIT, approved, #5871
npm/npmjs/-/vue-eslint-parser/9.3.2, MIT, approved, #11439
npm/npmjs/-/vue-json-viewer/3.0.4, MIT, approved, #5870
npm/npmjs/-/vue-router/4.1.0, MIT, approved, clearlydefined
npm/npmjs/-/vue/3.2.37, MIT, approved, #7094
npm/npmjs/-/which/2.0.2, ISC, approved, clearlydefined
npm/npmjs/-/word-wrap/1.2.5, MIT, approved, clearlydefined
npm/npmjs/-/wrappy/1.0.2, ISC, approved, clearlydefined
npm/npmjs/-/xml-name-validator/4.0.0, Apache-2.0, approved, clearlydefined
npm/npmjs/-/xtend/4.0.2, MIT, approved, clearlydefined
npm/npmjs/-/yallist/4.0.0, ISC, approved, clearlydefined
npm/npmjs/-/yaml/1.10.2, ISC, approved, clearlydefined
npm/npmjs/@aashutoshrathi/word-wrap/1.2.6, MIT, approved, #9212
npm/npmjs/@babel/parser/7.18.6, MIT, approved, clearlydefined
npm/npmjs/@eslint/eslintrc/1.3.0, MIT, approved, clearlydefined
npm/npmjs/@eslint-community/eslint-utils/4.4.0, MIT, approved, #8032
npm/npmjs/@eslint/eslintrc/1.4.1, MIT, approved, #5909
npm/npmjs/@humanwhocodes/config-array/0.9.5, Apache-2.0, approved, clearlydefined
npm/npmjs/@humanwhocodes/object-schema/1.2.1, BSD-3-Clause, approved, clearlydefined
npm/npmjs/@nodelib/fs.scandir/2.1.5, MIT, approved, clearlydefined
Expand All @@ -206,7 +211,7 @@ npm/npmjs/@vue/compiler-dom/3.2.37, MIT, approved, #7093
npm/npmjs/@vue/compiler-sfc/3.2.37, MIT, approved, #3104
npm/npmjs/@vue/compiler-ssr/3.2.37, MIT, approved, #7098
npm/npmjs/@vue/devtools-api/6.2.0, MIT, approved, clearlydefined
npm/npmjs/@vue/eslint-config-prettier/7.0.0, MIT, approved, clearlydefined
npm/npmjs/@vue/eslint-config-prettier/7.1.0, MIT, approved, clearlydefined
npm/npmjs/@vue/reactivity-transform/3.2.37, MIT, approved, #3096
npm/npmjs/@vue/reactivity/3.2.37, MIT, approved, #7088
npm/npmjs/@vue/runtime-core/3.2.37, MIT, approved, #7086
Expand Down
1 change: 1 addition & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ See `Install.md` file in folder [local](./local/docker-compose.yaml) for integra
- **EDC**, under *backend.puris.edc*
- **Own data**, under *backend.puris.own*
- **Current role for demonstrator**, under *backend.puris.demonstrator.role*
- **Keycloak** is disabled by default but can be configured under `frontend.puris.keycloak`.
> **NOTE**
Further information on the individual properties can be found in the following [README.md](./charts/puris/README.md).

Expand Down
29 changes: 17 additions & 12 deletions charts/puris/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ $ helm install puris --namespace puris --create-namespace .
| backend.ingress.annotations."nginx.ingress.kubernetes.io/force-ssl-redirect" | string | `"true"` | Force redirects from HTTP to HTTPS |
| backend.ingress.annotations."nginx.ingress.kubernetes.io/ssl-passthrough" | string | `"true"` | Pass SSL traffic to the backend ports |
| backend.ingress.enabled | bool | `false` | Enable the Ingress |
| backend.ingress.hosts | list | `[{"host":"your-backend-host-adress.com","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Hosts for the Ingress controller |
| backend.ingress.tls | list | `[{"hosts":["your-backend-host-adress.com"],"secretName":"tls-secret"}]` | TLS certificates for the Ingress controller |
| backend.ingress.hosts | list | `[{"host":"your-backend-host-address.com","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Hosts for the Ingress controller |
| backend.ingress.tls | list | `[{"hosts":["your-backend-host-address.com"],"secretName":"tls-secret"}]` | TLS certificates for the Ingress controller |
| backend.livenessProbe | object | `{"failureThreshold":3,"initialDelaySeconds":250,"periodSeconds":25,"successThreshold":1,"timeoutSeconds":1}` | Checks whether a pod is alive or not |
| backend.livenessProbe.failureThreshold | int | `3` | Number of failures (threshold) for a liveness probe |
| backend.livenessProbe.initialDelaySeconds | int | `250` | Delay in seconds after which an initial liveness probe is checked |
Expand All @@ -58,12 +58,13 @@ $ helm install puris --namespace puris --create-namespace .
| backend.puris.datasource.url | string | `"jdbc:hsqldb:mem:testdb;DB_CLOSE_DELAY=-1"` | URL of the database |
| backend.puris.datasource.username | string | `"sa"` | Username of the database |
| backend.puris.demonstrator.role | string | `nil` | Current role of the PURIS demonstrator. Default value should be empty. Can be set to "customer" or "supplier" to enable demonstration setup |
| backend.puris.edc.controlplane.host | string | `"172.17.0.2"` | |
| backend.puris.edc.controlplane.key | string | `"password"` | Key for the EDC control plane |
| backend.puris.edc.controlplane.management.url | string | `"http://customer-control-plane:8181/management"` | Url to the EDC controlplane management of the edc |
| backend.puris.edc.controlplane.protocol.url | string | `"http://customer-control-plane:8184/api/v1/dsp"` | Url to the EDC controlplane protocol API of the edc |
| backend.puris.edc.controlplane.management.url | string | `"https:/your-edc-address:8181/management"` | Url to the EDC controlplane management of the edc |
| backend.puris.edc.controlplane.protocol.url | string | `"https://your-edc-address:8184/api/v1/dsp"` | Url to the EDC controlplane protocol API of the edc |
| backend.puris.edc.web.rest.cors.enabled | bool | `true` | |
| backend.puris.edr.deletiontimer | int | `2` | Number of minutes before received authentication data of a consumer pull is removed from memory |
| backend.puris.edr.endpoint | string | `"${my.base.url}:${server.port}/catena/edrendpoint"` | Endpoint for EDR |
| backend.puris.edr.endpoint | string | `"your-backend-host-address.com"` | Endpoint for EDR |
| backend.puris.jpa.hibernate.ddl-auto | string | `"create"` | Initialises SQL database with Hibernate property "create" to allow Hibernate to first drop all tables and then create new ones |
| backend.puris.jpa.properties.hibernate.enable_lazy_load_no_trans | bool | `true` | Enables "Lazy load no trans" property to fetch of each lazy entity to open a temporary session and run inside a separate transaction |
| backend.puris.own.bpna | string | `"BPNA1234567890AA"` | Own BPNA of the EDC |
Expand All @@ -75,9 +76,9 @@ $ helm install puris --namespace puris --create-namespace .
| backend.puris.own.streetnumber | string | `"Musterstraße 110A"` | Own street and number |
| backend.puris.own.zipcodeandcity | string | `"12345 Musterhausen"` | Own zipcode and city |
| backend.puris.request.apiassetid | string | `"product-stock-request-api"` | Asset ID for request API |
| backend.puris.request.serverendpoint | string | `"${my.base.url}:${server.port}/catena/product-stock/request"` | Endpoint of server for request |
| backend.puris.request.serverendpoint | string | `"your-backend-host-address.com"` | Endpoint of server for request |
| backend.puris.response.apiassetid | string | `"product-stock-response-api"` | Asset ID for response API |
| backend.puris.response.serverendpoint | string | `"${my.base.url}:${server.port}/catena/product-stock/response"` | Endpoint of server for response |
| backend.puris.response.serverendpoint | string | `"your-backend-host-address.com"` | Endpoint of server for response |
| backend.readinessProbe | object | `{"failureThreshold":3,"initialDelaySeconds":250,"periodSeconds":25,"successThreshold":1,"timeoutSeconds":1}` | Checks if the pod is fully ready to operate |
| backend.readinessProbe.failureThreshold | int | `3` | Number of failures (threshold) for a readiness probe |
| backend.readinessProbe.initialDelaySeconds | int | `250` | Delay in seconds after which an initial readiness probe is checked |
Expand Down Expand Up @@ -113,8 +114,8 @@ $ helm install puris --namespace puris --create-namespace .
| frontend.ingress.annotations | object | `{}` | Annotations for the Ingress controller |
| frontend.ingress.className | string | `"nginx"` | Class name for the Ingress controller |
| frontend.ingress.enabled | bool | `false` | Enable the Ingress |
| frontend.ingress.hosts | list | `[{"host":"your-frontend-host-adress.com","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Hosts for the Ingress controller |
| frontend.ingress.tls | list | `[{"hosts":["your-frontend-host-adress.com"],"secretName":"tls-secret"}]` | TLS certificates for the Ingress controller |
| frontend.ingress.hosts | list | `[{"host":"your-frontend-host-address.com","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}]` | Hosts for the Ingress controller |
| frontend.ingress.tls | list | `[{"hosts":["your-frontend-host-address.com"],"secretName":"tls-secret"}]` | TLS certificates for the Ingress controller |
| frontend.livenessProbe | object | `{"failureThreshold":3,"initialDelaySeconds":10,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Checks whether a pod is alive or not |
| frontend.livenessProbe.failureThreshold | int | `3` | Number of failures (threshold) for a liveness probe |
| frontend.livenessProbe.initialDelaySeconds | int | `10` | Delay in seconds after which an initial liveness probe is checked |
Expand All @@ -126,14 +127,18 @@ $ helm install puris --namespace puris --create-namespace .
| frontend.podAnnotations | object | `{}` | Annotations added to a running pod |
| frontend.podSecurityContext | object | `{}` | Added security contexts for a pod |
| frontend.puris.appName | string | `"PURIS"` | The name of the app displayed in the frontend |
| frontend.puris.baseUrl | string | `"your-backend-host-adress.com"` | The base URL for the backend base URL without further endpoints |
| frontend.puris.baseUrl | string | `"your-backend-host-address.com"` | The base URL for the backend base URL without further endpoints |
| frontend.puris.endpointCustomer | string | `"stockView/customer?ownMaterialNumber="` | The endpoint for the customers own material number for the stock view |
| frontend.puris.endpointMaterialStocks | string | `"stockView/material-stocks"` | The endpoint for material stocks for the stock view |
| frontend.puris.endpointMaterials | string | `"stockView/materials"` | The endpoint for materials for the stock view |
| frontend.puris.endpointPartnerProductStocks | string | `"stockView/partner-product-stocks?ownMaterialNumber="` | The endpoint for the partners product stocks and their material numbers for the stock view |
| frontend.puris.endpointProductStocks | string | `"stockView/product-stocks"` | The endpoint for product stocks for the stock view |
| frontend.puris.endpointProducts | string | `"stockView/products"` | The endpoint for products for the stock view |
| frontend.puris.endpointUpdatePartnerProductStocks | string | `"stockView/update-partner-product-stock?ownMaterialNumber="` | The endpoint for updating the partners product stocks and their material numbers for the stock view |
| frontend.puris.keycloak.clientId | string | `"appXYZ"` | Name of the client which is used for the application. |
| frontend.puris.keycloak.disabled | bool | `true` | Disable the Keycloak integration. |
| frontend.puris.keycloak.realm | string | `"Catena-X"` | Name of the Realm of the keycloak instance. |
| frontend.puris.keycloak.redirectUrlFrontend | string | `"https://your-frontend-url.com"` | URL to use as keycloak redirect url. |
| frontend.readinessProbe | object | `{"failureThreshold":3,"initialDelaySeconds":10,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Checks if the pod is fully ready to operate |
| frontend.readinessProbe.failureThreshold | int | `3` | Number of failures (threshold) for a readiness probe |
| frontend.readinessProbe.initialDelaySeconds | int | `10` | Delay in seconds after which an initial readiness probe is checked |
Expand All @@ -154,7 +159,7 @@ $ helm install puris --namespace puris --create-namespace .
| frontend.serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
| frontend.serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
| frontend.tolerations | list | `[]` | Constrains for tolerations |
| global.domain.backend.ingress | string | `"your-backend-host-adress.com"` | |
| global.domain.backend.ingress | string | `"your-backend-host-address.com"` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.2](https://github.com/norwoodj/helm-docs/releases/v1.11.2)
Autogenerated from chart metadata using [helm-docs v1.11.3](https://github.com/norwoodj/helm-docs/releases/v1.11.3)
8 changes: 8 additions & 0 deletions charts/puris/templates/frontend-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ spec:
value: "{{ .Values.frontend.puris.endpointUpdatePartnerProductStocks }}"
- name: BACKEND_API_KEY
value: "test"
- name: IDP_DISABLE
value: "{{ .Values.frontend.puris.keycloak.disabled }}"
- name: IDP_REALM
value: "{{ .Values.frontend.puris.keycloak.realm }}"
- name: IDP_CLIENT_ID
value: "{{ .Values.frontend.puris.keycloak.clientId }}"
- name: IDP_REDIRECT_URL_FRONTEND
value: "{{ .Values.frontend.puris.keycloak.redirectUrlFrontend }}"
ports:
- name: http
containerPort: {{ .Values.frontend.service.port }}
Expand Down
Loading

0 comments on commit c9b4bd3

Please sign in to comment.