Skip to content

docs(jans-cedarling): new quickstart using tarp #11004

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 38 commits into from
Apr 9, 2025

Conversation

SafinWasi
Copy link
Contributor

Prepare


Description

Target issue

closes #10974

Implementation Details


Test and Document the changes

N/A

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.

Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Copy link
Contributor

@nynymike nynymike left a comment

Choose a reason for hiding this comment

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

Authorization Decision Service (ADS) has emerged more recently to reflect authorization as a cloud-native service rather than a monolithic policy engine embedded in an application. So saying the "Cedarling is an authorization decision service" is a little misleading, and may discourage vendors from implementing an ADS using the Cedarling.

Copy link
Contributor

@nynymike nynymike left a comment

Choose a reason for hiding this comment

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

See my edits... but looking good.

nynymike and others added 2 commits March 16, 2025 18:09
Signed-off-by: Michael Schwartz <mike@gluu.org>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
nynymike
nynymike previously approved these changes Mar 17, 2025
@SafinWasi SafinWasi marked this pull request as ready for review March 17, 2025 15:44
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Copy link
Contributor

@nynymike nynymike left a comment

Choose a reason for hiding this comment

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

This quickstart in its current state is terrible. If I were grading it, I'd give it a D-minus.

It needs high level expectations set at the beginning, like "we are going to present the quickstart in "three steps" -- authoring a policy store, loading the policy store in a test application (Tarp), and testing policy evaluation.

Also, why does it wait until the end to bring up what is the policy, like it's an afterthought? Shouldn't the introduction start with the policy we want to enforce, and an explanation of the use case?

Net-net, this needs major re-thinking on the part of Safin.


The Janssen Project documentation is currently in development. Topic pages are being created in order of broadest relevance, and this page is coming in the near future.
In this guide, we'll demonstrate how to use Cedarling as a sidecar for an API Gateway to authorize requests.
Copy link
Contributor

Choose a reason for hiding this comment

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

We are not using the sidecar here. Can you be more specific about what exactly this demo is showing.


## Have questions in the meantime?
### Sequence diagram
Copy link
Contributor

Choose a reason for hiding this comment

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

I find the sequence diagram here to be not "quick" -- it's also filled with jargon like "DCR", "bootstrap config", "jwks_endpoint", that a new person might not be familiar with...

Before you begin, make sure you have the following:

* [Firefox](https://www.mozilla.org/en-US/firefox/windows/) or [Google Chrome](https://www.google.com/chrome/index.html)
* The latest release of [Jans Tarp](https://github.com/JanssenProject/jans/releases/tag/nightly). Download the zip file for your browser.
Copy link
Contributor

Choose a reason for hiding this comment

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

What would be best here is to provide a link: "How to install Jans Tarp (1 minute video)". @ossdhaval, do we have an updated video?

To begin using Cedarling, you need to set up a policy store. We’ll use [Agama Lab](https://cloud.gluu.org/agama-lab/login) for this purpose.

1. Sign in to [Agama Lab](https://cloud.gluu.org/agama-lab/login) using your GitHub account and click on Policy Designer.
![image](../assets/cedarling-policy-designer.png)
Copy link
Contributor

Choose a reason for hiding this comment

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

Without the context of the wesbite, this screenshot is more confusing than illuminating.

![image](../assets/cedarling-policy-store-name.png)
4. Open the policy store and navigate to Policies.
5. Click `Add Policy`, select `Text Editor`.
![image](../assets/cedarling-add-policy.png)
Copy link
Contributor

Choose a reason for hiding this comment

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

There is a lot of real-estate taken by screenshots, that lack context. It would be much better to provide one short howto video here.

Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Copy link
Contributor

@nynymike nynymike left a comment

Choose a reason for hiding this comment

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

Getting better, but I feel like it still needs more work. Maybe a silly graphic that shows step 1-3 in some fun way?


## Authentication Flow

1. On the Authentication Flow screen, click on the lightning icon to trigger an authentication flow.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think you need another video here to show what success looks like.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Pending #11137

Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Copy link
Contributor

@nynymike nynymike left a comment

Choose a reason for hiding this comment

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

I think this still needs work. Perhaps we should wait until the new Tarp version comes out with the authorize_unsigned support, so we can split this into two quickstarts: 1) How to author and test policies using the cedarling; 2) Token Based Access Control ("TBAC") quickstart.

Before we begin, we need to meet the following requirements:

* [Firefox](https://www.mozilla.org/en-US/firefox/) or [Google Chrome](https://www.google.com/chrome/index.html)
* The latest release of [Jans Tarp](https://github.com/JanssenProject/jans/releases/tag/nightly). Download the zip file for your browser and install it.
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a mass of files and issues and it's hard to find out where exactly to download Tarp. Ideally, there should be a links to four different one-minute videos: firefox | chrome v. nightly build | store.

SafinWasi and others added 5 commits March 31, 2025 13:58
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
SafinWasi and others added 17 commits April 3, 2025 09:46
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
…oject/jans into docs-jans-cedarling-quickstart
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
…oject/jans into docs-jans-cedarling-quickstart
Signed-off-by: SafinWasi <6601566+SafinWasi@users.noreply.github.com>
@moabu moabu merged commit 3377ed1 into main Apr 9, 2025
2 checks passed
@moabu moabu deleted the docs-jans-cedarling-quickstart branch April 9, 2025 15:22
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.

docs(jans-cedarling): adjust quick start guide to use Tarp
3 participants