docs(portal-self-service): record NL DS + DigiD decisions and demo note (refs #67)
All checks were successful
CI / lint (pull_request) Successful in 1m6s
CI / build (pull_request) Successful in 50s
CI / unit (pull_request) Successful in 1m0s
CI / verify-stack (pull_request) Successful in 5m46s
CI / frontend (pull_request) Successful in 1m27s
CI / mutation (pull_request) Successful in 3m56s
All checks were successful
CI / lint (pull_request) Successful in 1m6s
CI / build (pull_request) Successful in 50s
CI / unit (pull_request) Successful in 1m0s
CI / verify-stack (pull_request) Successful in 5m46s
CI / frontend (pull_request) Successful in 1m27s
CI / mutation (pull_request) Successful in 3m56s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -48,3 +48,27 @@ with the submit form (S-08c, #67); any deviation from NL DS will be recorded her
|
||||
- The BFF endpoints carry no `operationId`, so orval synthesises method names
|
||||
(`postSelfServiceRegistrations`, `getOpenbaarRegister`); adding explicit operation ids to the BFF
|
||||
is a possible later polish.
|
||||
|
||||
---
|
||||
|
||||
## Self-service form: NL DS, DigiD auth, testing (S-08c, #67)
|
||||
|
||||
- **NL Design System via `@utrecht/component-library-angular`** (`libs/ui`) + `@utrecht/design-tokens`
|
||||
(imported once in `apps/self-service/src/styles.css`). Utrecht is NL DS's reference Angular
|
||||
implementation. Its v3 components are **NgModule-based, not standalone**, so `libs/ui` re-exports
|
||||
`UtrechtComponentsModule` (and the component classes, so the AOT compiler resolves the template
|
||||
directives through the barrel); standalone components consume it via `imports: [UtrechtComponentsModule]`.
|
||||
§10's "no NgModules in new code" governs *our* code — consuming a third-party module is fine.
|
||||
- **DigiD login via `angular-auth-oidc-client`** (`libs/auth`): auth-code + PKCE against the Keycloak
|
||||
`digid` realm (public client `big-portal`). A small **`AuthService` abstraction** (bsn /
|
||||
isAuthenticated / login) wraps the library so components and the `authenticatedGuard` depend on a
|
||||
mockable surface; a **token `HttpInterceptor`** attaches the bearer to BFF calls (secure route).
|
||||
The OIDC `authority`/`secureApiOrigin` are dev defaults in `app.config.ts`; the compose-served app
|
||||
overrides them (S-08d), and the browser-vs-container issuer alignment is handled there (ADR-0010).
|
||||
- **Testing:** component tests use **`@testing-library/angular`** (§10) with `AuthService` and the
|
||||
api-client mocked; the **axe** (`vitest-axe`) check runs scoped to WCAG 2.1 AA tags
|
||||
(`wcag2a/2aa/21a/21aa`) with the document `lang` set, asserting zero violations on the submit page.
|
||||
The real DigiD browser round-trip is exercised in S-08d (Playwright).
|
||||
- **Module boundaries:** replaced the demo eslint `depConstraints` (`scope:shop`/`scope:shared`, left
|
||||
over from the Nx angular template) with a permissive `*` default; scope/type tags can be
|
||||
introduced when the portal set grows.
|
||||
|
||||
Reference in New Issue
Block a user