Use App as the generic demo actor - #13
Conversation
…the concrete example The actor row read Browser, OTS, Google: two roles and one product abbreviation. Every demo now labels the application actor "App", matching the other role-named actors, and the from/to fields in every HTTP entry follow so the actor dots keep resolving. Step titles, descriptions, security notes and entry notes refer to "the app"; JSDoc, README and the index page follow the same wording. Onetime Secret remains the concrete example: the mock screens carry its name (the "OTS" abbreviation is retired from user-visible copy so it no longer needs introducing), the Okta group becomes "Onetime Secret Admins", and the secrets.example.com URLs, the _ots_realm cookie and the ots_scim_tk token prefix are unchanged. Actor keys (ots), color tokens and the screens/ots directory are identifiers, not labels, and are untouched. Agreed in the step-view hierarchy design review (PR #12 follow-up).
|
Required label not found on this PR. |
|
Claude finished @delano's task —— View job Review checklist
ReviewThis is a clean, mechanical rename PR that does exactly what it says. I read through the full diff and spot-checked every file category (configs, steps, screens, tests, docs, index page). Correctness
Minor nits (non-blocking)
Test coverage
Security / performance
Environment note: I wasn't able to run Overall: LGTM. Well-scoped, consistent, and the identifier/label distinction is applied correctly throughout. |
There was a problem hiding this comment.
🟢 Approval recommended
Only a minor grammar issue was found in updated demo copy; the renaming is consistent across configs/steps and aligned with updated tests/docs.
Pull request overview
This PR standardizes the “application” actor naming across the SSO demo suite by renaming the actor label from OTS to the generic role App, while keeping Onetime Secret as the concrete example product in UI mockups and documentation.
Changes:
- Renamed the app actor label from
OTS→Appacross demo configs and step HTTPfrom/tofields so actor-dot resolution remains correct. - Updated step copy, subtitles, and JSDoc headers to refer to “the app”, while updating mock UI text to use “Onetime Secret” (full name).
- Updated shared live-mode tests and README docs to match the new actor label semantics.
File summaries
| File | Description |
|---|---|
| src/routes/+page.svelte | Updates demo subtitles and homepage copy to use “the app” / “App” label language. |
| src/lib/sso-demos/sp-saml-okta/steps.ts | Renames SP actor references in step narratives and HTTP exchanges to App. |
| src/lib/sso-demos/sp-saml-okta/SPSAMLOkta.svelte | Updates demo header/JSDoc text to “App”. |
| src/lib/sso-demos/sp-saml-okta/config.ts | Changes actor/protocol-stack labels from OTS → App and updates subtitle copy. |
| src/lib/sso-demos/slo-saml-okta/steps.ts | Renames SP actor references in SLO narrative and exchanges to App. |
| src/lib/sso-demos/slo-saml-okta/SLOSAMLOkta.svelte | Updates demo header/JSDoc text to “App”. |
| src/lib/sso-demos/slo-saml-okta/config.ts | Changes actor/protocol-stack labels from OTS → App. |
| src/lib/sso-demos/shared/live/executor.test.ts | Updates live executor expectations to route SCIM traffic to/from App. |
| src/lib/sso-demos/shared/live/diff.test.ts | Updates HTTP diff tests to expect App as the SCIM server target/source. |
| src/lib/sso-demos/screens/ots/TeamMembers.svelte | Updates mock app UI branding to “Onetime Secret” and adjusts comments to “App”. |
| src/lib/sso-demos/screens/ots/SignInDiscovery.svelte | Updates screen header docs to “App (Onetime Secret)”. |
| src/lib/sso-demos/screens/ots/SignedOut.svelte | Updates screen header docs to “App (Onetime Secret)”. |
| src/lib/sso-demos/screens/ots/DashboardBob.svelte | Updates screen header docs to “App (Onetime Secret)”. |
| src/lib/sso-demos/screens/ots/Dashboard.svelte | Updates mock app UI branding to “Onetime Secret” and adjusts header docs. |
| src/lib/sso-demos/screens/idp/OktaDashboard.svelte | Updates Okta dashboard mock comments to “App tile”. |
| src/lib/sso-demos/screens/idp/OktaAdminConsole.svelte | Updates mock admin console copy to “Onetime Secret application”. |
| src/lib/sso-demos/screens/idp/LogtoSignIn.svelte | Updates IdP mock UI text to “Sign in to Onetime Secret”. |
| src/lib/sso-demos/screens/idp/GoogleOAuth.svelte | Updates consent UI text to “Onetime Secret”. |
| src/lib/sso-demos/screens/idp/Auth0Universal.svelte | Updates IdP mock UI text to “Sign in to Onetime Secret”. |
| src/lib/sso-demos/scim-okta/steps.ts | Renames SCIM server actor references to App, updates Okta group naming, and adjusts explanatory copy. |
| src/lib/sso-demos/scim-okta/SCIMOkta.svelte | Updates demo header/JSDoc text to reflect “the app” as SCIM server. |
| src/lib/sso-demos/scim-okta/config.ts | Changes actor/protocol-stack labels from OTS → App and updates overview wording. |
| src/lib/sso-demos/README.md | Updates docs to describe “App screens” and clarifies screens/ots are Onetime Secret mock screens. |
| src/lib/sso-demos/oidc-saml-bridge/steps.ts | Renames the application actor references in step narrative and HTTP exchanges to App. |
| src/lib/sso-demos/oidc-saml-bridge/OIDCSAMLBridge.svelte | Updates demo header/JSDoc text to avoid “(OTS)” and use generic “application”. |
| src/lib/sso-demos/oidc-saml-bridge/config.ts | Changes actor/protocol-stack labels from OTS → App. |
| src/lib/sso-demos/oidc-entra/steps.ts | Renames application actor references across narrative and HTTP exchanges to App. |
| src/lib/sso-demos/oidc-entra/OIDCEntra.svelte | Updates demo header/JSDoc text to “App + Entra”. |
| src/lib/sso-demos/oidc-entra/config.ts | Changes actor/protocol-stack labels from OTS → App and updates subtitle copy. |
| src/lib/sso-demos/oauth2-google/steps.ts | Renames application actor references across narrative and HTTP exchanges to App. |
| src/lib/sso-demos/oauth2-google/OAuth2Google.svelte | Updates demo header/JSDoc text to “App + Google”. |
| src/lib/sso-demos/oauth2-google/config.ts | Changes actor/protocol-stack labels from OTS → App and updates subtitle copy. |
| src/lib/sso-demos/multi-idp-discovery/steps.ts | Renames application actor references across narrative and HTTP exchanges to App. |
| src/lib/sso-demos/multi-idp-discovery/config.ts | Changes actor/protocol-stack labels from OTS → App and updates overview wording. |
| src/lib/sso-demos/idp-saml-okta/steps.ts | Renames application actor references across narrative and HTTP exchanges to App. |
| src/lib/sso-demos/idp-saml-okta/IdPSAMLOkta.svelte | Updates demo header/JSDoc text to “the app (SP)”. |
| src/lib/sso-demos/idp-saml-okta/config.ts | Changes actor/protocol-stack labels from OTS → App and updates subtitle copy. |
| src/lib/sso-demos/_template/Demo.svelte | Updates template comments/docs to describe “App screens” and “Authenticated app dashboard”. |
| src/lib/sso-demos/_template/config.ts | Updates template actor/protocol-stack default label to App. |
| README.md | Updates repo-level README copy and demo table descriptions to use “App” wording consistently. |
Review details
- Files reviewed: 40/40 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Remove duplicate educational-demo framing from the footer panel and describe trace limitations in plain language while preserving the mock-service and vendor-variation caveats.
…ookie The step-3 hedge claimed a missing cookie does not by itself stop the Wiki's response from expiring a known cookie name. Chrome rejects Set-Cookie for SameSite=Lax cookies in cross-site responses, and Safari and Firefox block third-party cookie writes, so the browser cookie always survives front-channel SLO. State that plainly in the description, security note, and request note; server-side revocation is the only lever.
…e nuance Copilot flagged the sentence fragment after the semicolon in the SCIM step-6 security note; rewritten as two sentences. QA on the previous SLO fix noted that "survives no matter what" was too strong: cookie identity is name/domain/path, so a deletion reissued as SameSite=None; Secure is accepted by Chrome in default settings. Safari blocks it and Firefox partitions it, so the cross-browser assumption stays: expect the cookie to survive and revoke server-side.
Summary
Review guide
Validation