Skip to content

feat: reorder Tarp README#14558

Open
duttarnab wants to merge 8 commits into
mainfrom
jans-tarp-14557
Open

feat: reorder Tarp README#14558
duttarnab wants to merge 8 commits into
mainfrom
jans-tarp-14557

Conversation

@duttarnab

@duttarnab duttarnab commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Prepare


Description

Target issue

closes #14557

Implementation Details


Test and Document the changes

  • Static code analysis has been run locally and issues have been fixed
  • Relevant unit and integration tests have been added/updated
  • Relevant documentation has been updated if any (i.e. user guides, installation and configuration guides, technical design docs etc)

Please check the below before submitting your PR. The PR will not be merged if there are no commits that start with docs: to indicate documentation changes or if the below checklist is not selected.

  • I confirm that there is no impact on the docs due to the code changes in this PR.

Summary by CodeRabbit

  • Documentation
    • Rewrote the Janssen Tarp demo into a clearer step-by-step guide for installing the extension, registering OIDC clients via Dynamic Client Registration, running an OAuth 2.0 Authorization Code flow, and validating Cedarling outcomes with updated token and “Result” panel expectations.
    • Added a new build-from-source tutorial for compiling and installing the extension in Chrome and Firefox, including verification and troubleshooting.
    • Added a Keycloak local setup tutorial covering DCR configuration, token acquisition, and progressing to Cedarling authorization flows.

Signed-off-by: duttarnab <arnab.bdutta@gmail.com>
@duttarnab
duttarnab requested a review from ossdhaval July 16, 2026 09:18
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR rewrites the Janssen Tarp README as an end-user tutorial and adds documentation for building the extension from source and integrating it with a local Keycloak instance.

Changes

Tarp documentation tutorials

Layer / File(s) Summary
End-user workflow
demos/janssen-tarp/README.md
The README now covers prerequisites, Chrome and Firefox installation, OIDC client registration, authentication, Cedarling configuration, authorization testing, troubleshooting, and related topics.
Source-build workflow
demos/janssen-tarp/docs/build-from-source.md
A new guide documents repository setup, dependency installation, production and watch builds, browser loading, verification, iteration, and troubleshooting.
Local Keycloak workflow
demos/janssen-tarp/docs/tarp-with-keycloak.md
A new tutorial documents Docker-based Keycloak setup, realm and user creation, DCR configuration, client registration, and authentication.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: comp-docs

Suggested reviewers: ossdhaval, faisalsiddique4400

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is mostly the unfilled template; it lacks implementation details and completed testing/documentation checkboxes. Add a brief summary of the README changes, mention any tests/docs updates, and complete the checklist items that apply.
Out of Scope Changes check ⚠️ Warning The two new tutorial docs go beyond reordering the README and appear to add extra scope not stated in #14557. Either justify the new docs in the issue scope or split them into a separate documentation PR.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the README reordering in this PR.
Linked Issues check ✅ Passed The README has been reorganized into the ordered tutorial flow requested by issue #14557.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jans-tarp-14557

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@duttarnab
duttarnab marked this pull request as ready for review July 16, 2026 09:18
@mo-auto

mo-auto commented Jul 16, 2026

Copy link
Copy Markdown
Member

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@mo-auto mo-auto added area-documentation Documentation needs to change as part of issue or PR kind-feature Issue or PR is a new feature request labels Jul 16, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@demos/janssen-tarp/README.md`:
- Around line 39-71: Update the README table of contents to reflect the renamed
and reordered installation sections: replace stale `#build` and `#releases` entries
with links for “Using released assets” and “Build from source,” preserving the
corresponding heading hierarchy.
- Around line 48-49: Fix the Chrome section in the README by adding a blank line
after the “Chrome” heading and inserting the missing space between the closing
backtick and “file” in the unzip instruction, preserving the existing wording
and formatting.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 127a2fff-9481-42a2-8b60-02fe28869484

📥 Commits

Reviewing files that changed from the base of the PR and between 152db2a and 90505db.

📒 Files selected for processing (1)
  • demos/janssen-tarp/README.md

Comment thread demos/janssen-tarp/README.md Outdated
Comment thread demos/janssen-tarp/README.md Outdated

@nynymike nynymike left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • I think this should be broken into multiple pages, for example, KC instructions should go off to a different page.
  • I don't like the TOC at the very top--that's valuable real estate. We should have a screenshot or animated GIF... and the Tarp Logo
  • I think we should start with QuickStart for end users, rather then docs for developers. Remember, there is no actual Tarp docs page in official Janssen docs.

Signed-off-by: duttarnab <arnab.bdutta@gmail.com>
@coderabbitai coderabbitai Bot added the comp-docs Touching folder /docs label Jul 17, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@demos/janssen-tarp/docs/build-from-source.md`:
- Line 79: Update the end-user tutorial link in the build instructions paragraph
to reference ../README.md instead of the broken ./janssen-tarp-tutorial.md path,
keeping the surrounding guidance unchanged.
- Line 56: Update the Firefox artifact and installation references to use the
.zip extension produced by browser-extension/pack.js. Apply this documentation
change at demos/janssen-tarp/docs/build-from-source.md lines 56 and 75, ensuring
both browser outputs and the install flow consistently refer to .zip files.

In `@demos/janssen-tarp/docs/tarp-with-keycloak.md`:
- Line 7: Update the Janssen Tarp installation prerequisite links in the
documentation to reference ../README.md for the end-user tutorial and
./build-from-source.md for the source-build guide, replacing the outdated
tutorial paths.

In `@demos/janssen-tarp/README.md`:
- Around line 89-94: Keep ordered lists continuous around screenshots by
indenting each screenshot beneath the preceding list item, or intentionally
restart numbering. Apply this to the bootstrap configuration steps in
demos/janssen-tarp/README.md lines 89-94, the request-builder steps in
demos/janssen-tarp/README.md lines 116-122, and the authentication steps in
demos/janssen-tarp/docs/tarp-with-keycloak.md lines 82-83.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 3d0778c5-1673-486c-8674-35a7a71b402d

📥 Commits

Reviewing files that changed from the base of the PR and between 90505db and 45b24fe.

⛔ Files ignored due to path filters (22)
  • demos/janssen-tarp/docs/images/01-register-oidc-client.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/02-client-registered.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/03-auth-flow-inputs.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/04-user-details-tokens.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/05-cedarling-bootstrap-empty.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/06-add-cedarling-configuration.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/07-bootstrap-configuration-saved.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/08-policy-store-viewer.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/09-multi-issuer-authz-form.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/10-multi-issuer-request.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/11-authz-result.jpg is excluded by !**/*.jpg
  • demos/janssen-tarp/docs/images/help/1-add-client.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/2-DCR.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/3-cedarling-configuration.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/4-auth-code-flow.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/5-auth-code-flow.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/6-unsigned-authz.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/7-multi-issuer-authz.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/ai-agent-settings.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/kc_add_scope.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/kc_trusted_hosts.png is excluded by !**/*.png
  • demos/janssen-tarp/docs/images/help/untrusted_cert_risk.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • demos/janssen-tarp/README.md
  • demos/janssen-tarp/docs/build-from-source.md
  • demos/janssen-tarp/docs/tarp-with-keycloak.md

Comment thread demos/janssen-tarp/docs/build-from-source.md
Comment thread demos/janssen-tarp/docs/build-from-source.md Outdated
Comment thread demos/janssen-tarp/docs/tarp-with-keycloak.md
Comment thread demos/janssen-tarp/README.md
Signed-off-by: duttarnab <arnab.bdutta@gmail.com>
Signed-off-by: duttarnab <arnab.bdutta@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@demos/janssen-tarp/README.md`:
- Line 161: Add exactly one trailing newline to the end of the README file after
the final content, without changing any other text.
- Line 122: Replace the signed JWT value in the README payload example with a
clearly invalid placeholder such as <access-token-jwt>, and add guidance for
users to paste their own access token instead.
- Around line 117-131: Fix the Markdown around the JSON example in the
Issuer-to-Token Mapping section: add blank lines immediately before and after
the fenced JSON block to satisfy MD031, and remove the extra indentation from
the following explanatory paragraph so it remains regular list content rather
than a code block.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: f67e05b6-5006-480f-879b-7793af57e0cd

📥 Commits

Reviewing files that changed from the base of the PR and between 78ea8fc and 97587c2.

⛔ Files ignored due to path filters (1)
  • demos/janssen-tarp/docs/images/06-add-cedarling-configuration.jpg is excluded by !**/*.jpg
📒 Files selected for processing (1)
  • demos/janssen-tarp/README.md

Comment thread demos/janssen-tarp/README.md
Comment thread demos/janssen-tarp/README.md Outdated
Comment thread demos/janssen-tarp/README.md Outdated
Signed-off-by: duttarnab <arnab.bdutta@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
putComment timed out

Signed-off-by: duttarnab <arnab.bdutta@gmail.com>
@duttarnab
duttarnab requested a review from nynymike July 17, 2026 13:31
## 1. Prerequisites

- **Browser:** Chrome, or Firefox (version ≥ 115.0.3)
- **An OpenID Provider** Janssen Auth Server that supports Dynamic Client Registration

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

An OpenID Provider -> An OpenID Provider:

Janssen Auth Server -> Janssen Server or any other OIDC provider

Link to the DCR RFC: https://datatracker.ietf.org/doc/html/rfc7591

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

supports Dynamic Client Registration -> supports Dynamic Client Registration and is enabled

4. Select the downloaded `.xpi` file.

Open the extension. You'll land on the **Authentication** tab, with two more tabs available: **Cedarling** and **AI Agent**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Consider adding a screenshot.

## 5. Configure Cedarling

- Node.js (>= v18.15.0)
Cedarling is an embedded Policy Decision Point (PDP) that evaluates authorization requests against Cedar policies. Configure it once, then test authorization decisions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Consider linking to the Cedarling docs landing page: https://docs.jans.io/stable/cedarling/

]
```

Add one object per token you want Cedarling to consider — typically the access token and, if you enabled **Display tokens after authentication**, the ID token as well. The `mapping` value must match a token entity type defined in your policy store's schema (see Section 5.2).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This renders in a scrollable area in my preview. Not sure why, but may be you can check the final rendering after we merge the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-documentation Documentation needs to change as part of issue or PR comp-docs Touching folder /docs kind-feature Issue or PR is a new feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(jans-tarp): reorder Tarp README

4 participants