-
Notifications
You must be signed in to change notification settings - Fork 153
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
[DX-1766] Documented JWE config options #5681
base: master
Are you sure you want to change the base?
Conversation
PR Reviewer Guide 🔍(Review updated until commit a140599)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to a140599 Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit d5d51c6
Suggestions up to commit 438a829
|
✅ PS. Pls add /docs/nightly to the end of url
To edit notification comments on pull requests, go to your Netlify site configuration. |
✅ PS. Pls add /docs/nightly to the end of url
To edit notification comments on pull requests, go to your Netlify site configuration. |
tyk-docs/content/tyk-stack/tyk-identity-broker/about-profiles.md
Outdated
Show resolved
Hide resolved
Persistent review updated to latest commit d5d51c6 |
Persistent review updated to latest commit a140599 |
tyk-docs/content/tyk-stack/tyk-identity-broker/auth-user-for-api-access-github-oauth.md
Outdated
Show resolved
Hide resolved
- A certificate with a private key for Tyk (used to decrypt the ID token) | ||
- A public key file for the IdP (used to encrypt the ID token) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two steps does not provide much context on what exactly has to be done.
Can you clarify the following:
- The algorithm to be used for asymmetric keys & it's size. RS-256, RS-512
- Will self-signed certificate work? Or an official certificate is required
- In which format the cerificate & other keys are expected. (
.pem
etc...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sharadregoti we do not limit to which certificates algos to use, you can use whatever you want 🤔 so not sure if we should mention this, this looks more like documentation for the certificate manager rather than TIB.
#2 self signed cert will work.
#3 The ones supported by the certificate manager
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, I'll rephrase the above.
|
||
##### 1. Prepare encryption keys | ||
1.1. Load the certificate with the private key into Tyk: | ||
- For embedded TIB in Dashboard: Use Tyk Dashboard's certificate manager |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add an image of dashboard showing the above.
2.1. Create a new client in your IdP for Tyk Identity Broker | ||
|
||
##### 3. Setup OIDC Profile | ||
3.1. Create a new TIB profile: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add an image of dashboard for the same.
### JWE step-by-step guide | ||
|
||
#### Prerequisites | ||
- An Identity Provider (IdP) that supports JSON Web Encryption (JWE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should write this document with a specific IDP, such as Keycloak
, in mind. Currently, the information provided about the IDP is too generic. While users will adjust the steps according to their chosen IDP, we should at least develop this document with Keycloak
or other relevant IDPs as references.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, however currently there is not free software to test JWE, only keycloak but is broken. In order for us to test we had to built keycloack from source from a branch that is fixing their issues but not released yet. I consider that put screenshots or base the example on a third party app that is currently broken will not be 100% helpful as they will experience issues. Eg: I write the example using keycloack, then you in your local will follow those steps but it will not work because keycloak is broken... How do you think we should proceed with this one? knowing that at some point anyway keycloak will release the fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can either use auth0
—the free tier should suffice for the purpose of writing the article—or opt for keycloak
. If you choose keycloak
, we'll include a note detailing the steps we took to make it work and link to the relevant GitHub issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the steps and instructions can be applied for all Identity Provider (IdP) that supports JSON Web Encryption (JWE), we don't need to provide tool-specific guidance is it?
I'm afraid we cannot and would not keep track of changes that happen on other tools. What is working today may be changed in another release if the instruction is too detailed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sharadregoti unfortunately the free tier of oauth0 doesnt allow us to enable JWE, its a regulated and paid feature (this was our nightmare to test the feature)
1.2. Load the public key into your IdP for ID token encryption (process varies by IdP) | ||
|
||
##### 2. Configure the Identity Provider | ||
2.1. Create a new client in your IdP for Tyk Identity Broker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also add what things to be noted down after creating the client. Client ID, Client Secret.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wdym? which things are important to copy from the client? only client secret, cliend id and the wellknownopenidconfiguration
url
tyk-docs/content/tyk-stack/tyk-identity-broker/auth-user-for-api-access-github-oauth.md
Show resolved
Hide resolved
…pi-access-github-oauth.md Co-authored-by: Master <[email protected]>
tyk-docs/content/tyk-stack/tyk-identity-broker/auth-user-for-api-access-github-oauth.md
Show resolved
Hide resolved
…pi-access-github-oauth.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for creating .gif
files. It's great. Only thing, I want to point out next time take full screen recording.
### JWE step-by-step guide | ||
|
||
#### Prerequisites | ||
- An Identity Provider (IdP) that supports JSON Web Encryption (JWE) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can either use auth0
—the free tier should suffice for the purpose of writing the article—or opt for keycloak
. If you choose keycloak
, we'll include a note detailing the steps we took to make it work and link to the relevant GitHub issues.
- A certificate with a private key for Tyk (used to decrypt the ID token) | ||
- A public key file for the IdP (used to encrypt the ID token) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, I'll rephrase the above.
User description
For internal users - Please add a Jira DX PR ticket to the subject!
Preview Link
Ticket: https://tyktech.atlassian.net/browse/DX-1766
Description
Screenshots (if appropriate)
Checklist
master
.PR Type
Documentation
Description
Changes walkthrough 📝
about-profiles.md
Document JWE Configuration Options in TIB Profiles
tyk-docs/content/tyk-stack/tyk-identity-broker/about-profiles.md
JWE.Enabled
andJWE.PrivateKeyLocation
.auth-user-for-api-access-github-oauth.md
Add JWE Setup Guide and Troubleshooting
tyk-docs/content/tyk-stack/tyk-identity-broker/auth-user-for-api-access-github-oauth.md
menu.yaml
Update Menu Title for TIB Integration Examples
tyk-docs/data/menu.yaml