Compare commits
base: eho:feat/13-behandel-bff-auth-werkbak
eho:main
eho:feat/13-behandel-decide
eho:feat/13-behandel-bff-auth-werkbak
eho:feat/13-workflow-user-tasks
eho:feat/13-behandel-decision-model
eho:chore/release-2026.07.0
eho:feat/78-reference-correlation
eho:feat/75-approval-flow
eho:feat/10-openbaar-portal
eho:chore/73-ci-speedups
eho:feat/68-e2e
eho:feat/67-self-service-form
eho:feat/66-api-client
eho:feat/65-nx-workspace
eho:feat/8-bff
eho:feat/6-domain-service
eho:feat/7-event-subscriber-projection
eho:feat/56-nrc-notification-wiring
eho:test/46-acl-openzaak-integration
eho:feat/47-acl-mutation-baseline
eho:ci/30-gitea-actions-ci
eho:feat/5-acl-open-zaak
eho:feat/4-flowable
eho:feat/3-keycloak
eho:feat/2-opennotificaties
eho:feat/2-catalogus-seed
eho:feat/10-openzaak-compose
eho:feat/32-docs-scaffold
eho:feat/31-contributor-workflow
eho:feat/30-gitea-actions-ci
eho:feat/29-bff-docker-compose
eho:chore/remove-bootstrap-scripts
eho:feat/28-bff-health
eho:docs/split-s00
..
compare: eho:main
eho:feat/13-behandel-decide
eho:main
eho:feat/13-behandel-bff-auth-werkbak
eho:feat/13-workflow-user-tasks
eho:feat/13-behandel-decision-model
eho:chore/release-2026.07.0
eho:feat/78-reference-correlation
eho:feat/75-approval-flow
eho:feat/10-openbaar-portal
eho:chore/73-ci-speedups
eho:feat/68-e2e
eho:feat/67-self-service-form
eho:feat/66-api-client
eho:feat/65-nx-workspace
eho:feat/8-bff
eho:feat/6-domain-service
eho:feat/7-event-subscriber-projection
eho:feat/56-nrc-notification-wiring
eho:test/46-acl-openzaak-integration
eho:feat/47-acl-mutation-baseline
eho:ci/30-gitea-actions-ci
eho:feat/5-acl-open-zaak
eho:feat/4-flowable
eho:feat/3-keycloak
eho:feat/2-opennotificaties
eho:feat/2-catalogus-seed
eho:feat/10-openzaak-compose
eho:feat/32-docs-scaffold
eho:feat/31-contributor-workflow
eho:feat/30-gitea-actions-ci
eho:feat/29-bff-docker-compose
eho:chore/remove-bootstrap-scripts
eho:feat/28-bff-health
eho:docs/split-s00
1 Commits
feat/13-be
...
main
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 9c3da48d8e |
feat(#13): S-12c-1 — behandel BFF auth + werkbak (ADR-0013) (#85)
All checks were successful
## What & why First half of **S-12c** (behandel-portal backend), per **ADR-0013** (decisions recorded in #84): - **BFF multi-realm auth.** A second JWT bearer scheme (`medewerker`) alongside the default `digid` scheme. On validation it lifts Keycloak's `realm_access.roles` onto the principal, and a `behandelaar` policy (medewerker scheme + `behandelaar` role) gates `/behandel/*`. Self-service keeps the digid scheme. - **Werkbak = Flowable tasks.** The domain `Werkbak` query reads the open `Beoordelen` tasks (§8.2, S-12b's `IUserTaskClient`) and enriches each with its aggregate's bsn + status; `GET /behandel/werkbak` (domain) is proxied by the BFF `GET /behandel/werkbak` behind the behandelaar policy. The read projection stays the anonymous openbaar model (no premature `IN_BEHANDELING`/personal-data plumbing — deferred in ADR-0008). Behavior: `/behandel/werkbak` is **401** without a token, **403** for a medewerker lacking the role, **200 + werkbak** for a behandelaar. **S-12c-2** (next): `POST /behandel/registrations/{id}/decide` → domain decision + complete the Flowable task. ## Definition of Done - [x] Linked issue: #13 (umbrella, `refs`); closes the adr-proposal #84 - [x] Tests first; red → green per layer - [x] Unit + acceptance green (`make unit`): domain 78, bff 23, acceptance 9 (+ acl/event-subscriber unaffected) - [x] api-client `test` green; openapi.json regenerated (drift guard passes) - [x] Mutation ≥ break(90): **domain 100%, bff 100%** - [x] ADR-0013 added; `Keycloak__MedewerkerAuthority` wired into compose - [ ] CI green (pending) Part of #13. closes #84 Reviewed-on: #85 |