Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
1966d46
Create adr-004-external-auth-user-provisioning-policy.md
ejaronne Jul 9, 2026
d65336b
Update adr-004-external-auth-user-provisioning-policy.md
ejaronne Jul 9, 2026
9b4a21b
Merge branch 'master' into external_auth_provisioning_policy
aaronlippold Jul 9, 2026
8be6d84
docs: ADR-004 — fail-fast validation, startup migration warning, logi…
aaronlippold Jul 10, 2026
be0ad2d
docs: ADR-004 — apply verified review findings: error transports, bre…
aaronlippold Jul 10, 2026
21e5ed9
docs: ADR-004 — research-verified anchors: CFM pre-hijacking, email n…
aaronlippold Jul 10, 2026
bdc1b50
docs: ADR-004 — verify NestJS runtime claims against resolved package…
aaronlippold Jul 10, 2026
332761e
docs: ADR-005 — VitePress documentation site; ADR-004 cross-references
aaronlippold Jul 10, 2026
ff062d5
docs: ADR-004/ADR-005 — link work orders to beads epics 4qg and yvx
aaronlippold Jul 10, 2026
89f2238
docs: ADR-005 — concrete docs/ file tree, landing-page spec, site cap…
aaronlippold Jul 10, 2026
3d455b8
docs: ADR-004/ADR-005 — beads board access, schema-upgrade note, tool…
aaronlippold Jul 10, 2026
ff5f866
adding constructor parameter to provide user input for fast-xml-parser
NickShumar Jul 22, 2026
571f64d
Revert "adding constructor parameter to provide user input for fast-x…
NickShumar Jul 22, 2026
53d4ced
adding constructor parameter to provide user input for fast-xml-parser
NickShumar Jul 22, 2026
a621414
Revert "adding constructor parameter to provide user input for fast-x…
NickShumar Jul 22, 2026
b4c70c8
Implement scoped external-auth provisioning
NickShumar Jul 27, 2026
915124f
Pin Cypress action to commit SHA
NickShumar Jul 27, 2026
604aedf
docs: split ADR-005 from auth policy
NickShumar Aug 10, 2026
7617924
converting legacy imports in main.ts to ESM-compatible imports
NickShumar Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions .github/workflows/e2e-ui-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,20 @@ permissions:

jobs:
build:
name: E2E (${{ matrix.configuration }})
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- configuration: default-jit
registration_disabled: ''
- configuration: registration-policy-sso
registration_disabled: sso
env:
CYPRESS_TESTING: true
NODE_ENV: test
REGISTRATION_DISABLED: ${{ matrix.registration_disabled }}
services:
postgres:
image: postgres:latest
Expand Down Expand Up @@ -64,17 +74,27 @@ jobs:
yarn backend sequelize db:migrate
yarn backend sequelize db:seed:all

- name: Cypress run
uses: cypress-io/github-action@v7
- name: Cypress run (default JIT policy)
if: matrix.configuration == 'default-jit'
uses: cypress-io/github-action@fa4a118725a8f001170d49631ea89e5d66fee626 # v7
with:
config: excludeSpecPattern=test/integration/registration-policy.cy.ts
start: yarn start, yarn run cypress-test mock-json, yarn run cypress-test mock-openid
wait-on: 'http://127.0.0.1:3000, http://127.0.0.1:3001'

- name: Cypress run (SSO provisioning denied)
if: matrix.configuration == 'registration-policy-sso'
uses: cypress-io/github-action@fa4a118725a8f001170d49631ea89e5d66fee626 # v7
with:
start: yarn start, yarn run cypress-test mock-json, yarn run cypress-test mock-openid
wait-on: 'http://127.0.0.1:3000, http://127.0.0.1:3001'
spec: test/integration/registration-policy.cy.ts

- name: Upload test screenshots and videos
if: failure()
uses: actions/upload-artifact@v7
with:
name: cypress-recording
name: cypress-recording-${{ matrix.configuration }}
path: |
test/screenshots
test/videos
6 changes: 6 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
v2.13.2

## Breaking Changes

- **BREAKING:** `REGISTRATION_DISABLED` is now a fail-fast, scoped enum. `true` disables local registration and SSO/LDAP just-in-time account creation; previously tolerated invalid values now prevent startup. Review the [v2.13.2 registration policy upgrade note](docs/upgrade-notes/registration-disabled-enum.md) before upgrading.

v2.13.1

## What's New
Expand Down
3 changes: 2 additions & 1 deletion apps/backend/.env-example
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ ADMIN_EMAIL=<email for default admin user (if nothing is provided, defaults to a
ADMIN_USES_EXTERNAL_AUTH=<if the default admin user uses alternative/external authentication (if nothing is provided, defaults to false)
ADMIN_PASSWORD=<Password for admin user (if nothing is provided, defaults to a randomly generated password that will only be shown on initial setup)>
LOCAL_LOGIN_DISABLED=<If internal user login should be allowed, if not then only alternative authention providers can be used, (if nothing provided, defaults to false)>
REGISTRATION_DISABLED=<If public user registration should be allowed, if not then only the administrator user can create users (defaults to false)>
REGISTRATION_DISABLED=<Controls account self-provisioning: false/unset allows local registration and SSO auto-account creation; true disables both; local disables local registration only; sso disables SSO auto-account creation only, including LDAP (defaults to false)>
ONE_SESSION_PER_USER=<If users are only allowed to be logged in on one browser, (defaults to false)>
JWT_SECRET=<JSON Web Token Secret (no default, must be set)>
JWT_EXPIRE_TIME=<JSON Web Token Length of time before signature expires (if nothing is provided, defaults to 60s)>
Expand Down Expand Up @@ -90,3 +90,4 @@ OIDC_USER_INFO_URL=<Your OIDC user info endpoint, for example: https://sample.us
OIDC_CLIENTID=<Your OIDC Client ID (no default, must be set)>
OIDC_CLIENT_SECRET=<Your OIDC Client Secret (no default, must be set)>
OIDC_EXTERNAL_GROUPS=<Synchronize user groups from external OIDC provider; Groups are not created automatically, users are only mapped into existing groups - true or false (defaults to false if not provided)>
OIDC_USES_VERIFIED_EMAIL=<Require email_verified=true before using an OIDC email to provision or match an account; setting false permits unverified claims and is unsafe for pre-provisioned access (defaults to true)>
Loading
Loading