Skip to content

Add Angular samples and align port/HTTPS across frameworks#20

Merged
ksroda-sa merged 5 commits into
mainfrom
feat/angular-samples
Apr 20, 2026
Merged

Add Angular samples and align port/HTTPS across frameworks#20
ksroda-sa merged 5 commits into
mainfrom
feat/angular-samples

Conversation

@ksroda-sa

Copy link
Copy Markdown
Collaborator

Summary

  • Add Angular implementations of spa_login_pkce and spa_token_refresh scenarios using angular-auth-oidc-client
  • Add env_file field to manifest so ciam-core can generate the right config format per framework (.env for React, environment.ts for Angular)
  • Add ts: placeholder patterns for Angular's environment.* syntax
  • Strip run_command from aggregated scenarios (it's framework-specific, lives in snippets.json)
  • Update validate script to support per-framework config example file
  • Add markdown link support in callouts (referenced in ciam-core)
  • Align all samples on port 4250 with HTTPS (Vite uses @vitejs/plugin-basic-ssl)
  • Standardize on yarn start across all samples
  • Add sign out to React token-refresh + post_logout_redirect_uri config
  • Update CI: broaden trigger paths to samples/**, generic test script check
  • Add Dependabot entries for both Angular samples

🤖 Generated with Claude Code

- Add Angular login-pkce and token-refresh samples using angular-auth-oidc-client
- Add ts: section to placeholder-map.yaml for Angular environment.* patterns
- Add env_file field to manifest for per-framework config file format
- Update aggregate script to include env_file and strip framework-specific run_command
- Update validate script to support per-framework config file (env or environment.ts)
- Update CI test-js.yml: broaden trigger paths and check for test script
- Add Dependabot entries for Angular samples
- Align all samples on port 4250 with HTTPS
- Enable HTTPS in React Vite config via @vitejs/plugin-basic-ssl
- Standardize on yarn start across all samples
- Add sign out button to React token-refresh
- Add post_logout_redirect_uri to React token-refresh manifest and env

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the sample “snippets + manifests” system to support Angular (in addition to React), while standardizing runtime details (HTTPS + port 4250 + yarn start) and updating validation/aggregation tooling so ciam-core can generate framework-appropriate config files.

Changes:

  • Add Angular sample implementations for spa_login_pkce and spa_token_refresh (plus corresponding snippet steps).
  • Add env_file to framework manifests and update validation/aggregation scripts to support framework-specific config example formats.
  • Standardize React samples on HTTPS/port 4250 and yarn start, and add sign-out + post_logout_redirect_uri to token refresh.

Reviewed changes

Copilot reviewed 52 out of 59 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
snippets.json Adds Angular snippet steps; updates React run commands and token-refresh sign-out/config.
snippet-manifest.yaml Updates aggregated manifest to include Angular + env_file and new config rows.
scripts/validate-structure.ts Validates per-framework config example file based on env_file.
scripts/aggregate-manifests.ts Aggregates manifests with env_file, strips run_command, and orders frameworks.
samples/react/token-refresh/yarn.lock Adds Vite basic SSL plugin dependency.
samples/react/token-refresh/vite.config.ts Enables HTTPS (basic SSL), adds POST_LOGOUT_URI, sets port 4250.
samples/react/token-refresh/src/App.tsx Adds post_logout_redirect_uri and a sign-out button.
samples/react/token-refresh/package.json Renames dev script to start.
samples/react/token-refresh/README.md Updates run instructions for yarn start and https://localhost:4250.
samples/react/token-refresh/.env.example Updates sample issuer domain, HTTPS redirect URI, adds post-logout URI.
samples/react/manifest.yaml Adds env_file and standardizes run_command; adds post-logout config row.
samples/react/login-pkce/yarn.lock Adds Vite basic SSL plugin dependency.
samples/react/login-pkce/vite.config.ts Enables HTTPS (basic SSL) and sets port 4250.
samples/react/login-pkce/package.json Renames dev script to start.
samples/react/login-pkce/README.md Updates run instructions for yarn start and https://localhost:4250.
samples/react/login-pkce/.env.example Updates sample issuer domain and HTTPS redirect/post-logout URIs.
samples/angular/token-refresh/tsconfig.spec.json Adds Angular sample TS config for tests.
samples/angular/token-refresh/tsconfig.json Adds base TS + Angular compiler settings for the sample.
samples/angular/token-refresh/tsconfig.app.json Adds app TS config for the sample.
samples/angular/token-refresh/src/styles.css Adds placeholder global styles file.
samples/angular/token-refresh/src/main.ts Bootstraps standalone Angular app.
samples/angular/token-refresh/src/index.html Adds app HTML shell.
samples/angular/token-refresh/src/environments/environment.example.ts Adds framework-specific config example format for Angular.
samples/angular/token-refresh/src/app/app.ts Implements token refresh UI and token-expiry display logic.
samples/angular/token-refresh/src/app/app.spec.ts Adds unit tests for token-refresh sample.
samples/angular/token-refresh/src/app/app.config.ts Configures angular-auth-oidc-client with refresh tokens.
samples/angular/token-refresh/package.json Adds Angular sample dependencies and scripts (ng serve on 4250 SSL).
samples/angular/token-refresh/angular.json Adds Angular project/build/test config.
samples/angular/token-refresh/README.md Adds Angular token-refresh setup/run docs.
samples/angular/token-refresh/.yarnrc.yml Adds Yarn configuration for the sample.
samples/angular/token-refresh/.prettierrc Adds Prettier config (single quotes, HTML parser override).
samples/angular/token-refresh/.gitignore Ignores generated artifacts and src/environments/environment.ts.
samples/angular/token-refresh/.editorconfig Adds editor defaults for the sample.
samples/angular/manifest.yaml Adds Angular framework manifest with scenarios and env_file.
samples/angular/login-pkce/tsconfig.spec.json Adds Angular sample TS config for tests.
samples/angular/login-pkce/tsconfig.json Adds base TS + Angular compiler settings for the sample.
samples/angular/login-pkce/tsconfig.app.json Adds app TS config for the sample.
samples/angular/login-pkce/src/styles.css Adds placeholder global styles file.
samples/angular/login-pkce/src/main.ts Bootstraps standalone Angular app.
samples/angular/login-pkce/src/index.html Adds app HTML shell.
samples/angular/login-pkce/src/environments/environment.example.ts Adds framework-specific config example format for Angular.
samples/angular/login-pkce/src/app/app.ts Implements PKCE login/logout UI and auth-state rendering.
samples/angular/login-pkce/src/app/app.spec.ts Adds unit tests for PKCE sample.
samples/angular/login-pkce/src/app/app.config.ts Configures angular-auth-oidc-client for PKCE login.
samples/angular/login-pkce/package.json Adds Angular sample dependencies and scripts (ng serve on 4250 SSL).
samples/angular/login-pkce/angular.json Adds Angular project/build/test config.
samples/angular/login-pkce/README.md Adds Angular login PKCE setup/run docs.
samples/angular/login-pkce/.yarnrc.yml Adds Yarn configuration for the sample.
samples/angular/login-pkce/.prettierrc Adds Prettier config (single quotes, HTML parser override).
samples/angular/login-pkce/.gitignore Ignores generated artifacts and src/environments/environment.ts.
samples/angular/login-pkce/.editorconfig Adds editor defaults for the sample.
placeholder-map.yaml Adds ts placeholder patterns for Angular environment.* references.
.gitignore Adds ignore rules intended for Angular environment files.
.github/workflows/test-js.yml Broadens CI trigger paths; changes how “run tests” is detected.
.github/dependabot.yml Adds Dependabot entries for the Angular sample directories.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread samples/angular/token-refresh/src/app/app.ts
Comment thread snippets.json Outdated
Comment thread samples/angular/login-pkce/src/app/app.ts
Comment thread .github/workflows/test-js.yml Outdated
Comment thread scripts/aggregate-manifests.ts Outdated
ksroda-sa and others added 3 commits April 17, 2026 13:13
…tart

- prebuild/pretest auto-copy environment.example.ts so CI works
- prestart errors with a clear message so users know to copy and configure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
User-facing yarn build/test stay clean. CI uses build:ci/test:ci which
auto-create environment.ts from the example so build doesn't fail.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Decode JWT base64url properly (handle - / _ chars and padding)
- Fix indexOf fallback in aggregate-manifests sort (returns -1 not undefined)
- Use node to parse package.json scripts in CI workflow (avoid grep false positives)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ksroda-sa ksroda-sa marked this pull request as ready for review April 17, 2026 11:35
@ksroda-sa ksroda-sa merged commit 0fde050 into main Apr 20, 2026
13 checks passed
@ksroda-sa ksroda-sa deleted the feat/angular-samples branch April 20, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants