feat(identity): Kong Identity + OIDC#5687
Conversation
* feat(event-gw): SASL PLAIN fetch Kong Identity principal * move directory to prereq and make a bit more generic Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * add how to to index, fix validate wording Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Add identity product to how to Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
* feat(event-gw): SASL OAUTH fetch Kong Identity principal * copilot review * fix conflict Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Add directory prereq, add network container step, some small wording adjustments Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
* Update reference content Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Dev portal variable, caching infos Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * UI step for link consumer, API steps for principal/plugin link, convert yaml to md Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * fix principal requests Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply PM/eng feedback Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Adjust kaa vs ace wording Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Fix section lead in Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestions from copilot Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix consumer viewer role thingy Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* First draft of principals reference, it's rough Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * revise Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * fix the failing build Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Fixes from spec, other wording and formatting, add API request examples Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Kong Identity variable Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply PM feedback, new KEG section, new examples section Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * UI steps draft Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * fix broken links Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Add note about creating a directory in the UI Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Add lookup caching note Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply PM feedback Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Fix the name of the conditional expression Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Connective content to the identity reference Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestions from copilot Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Change sections to fix tab weirdness Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com>
Co-authored-by: Guaris <23319190+Guaris@users.noreply.github.com>
Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Signed-off-by: kong-docs[bot] <team-docs@konghq.com>
✅ Deploy Preview for kongdeveloper ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
|
There was a problem hiding this comment.
Pull request overview
This PR updates the OpenID Connect plugin example configs to enable Principal authentication (via config.principals) and introduces shared includes and a new how-to stub intended to document Principal authentication with OIDC.
Changes:
- Enable Principals lookup/authentication in multiple OpenID Connect plugin config examples.
- Add shared include snippets to standardize the “Kong Identity auth server” intro/requirements copy.
- Add a new how-to page for “Authenticate Principals with the OpenID Connect plugin” (currently frontmatter-only).
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| app/_kong_plugins/openid-connect/examples/user-info-auth.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/session-auth.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/refresh-token.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/password.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/jwt-access-token.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/introspection-auth.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/client-credentials.yaml | Adds shared intro/requirement includes and config.principals + directory variable. |
| app/_kong_plugins/openid-connect/examples/authorization-code.yaml | Adds shared intro/requirement includes, config.principals, and an additional embedded {% entity_example %} block in extended_description. |
| app/_includes/plugins/oidc/idp-requirement.md | New include for the “IdP requirement” bullet (link target needs adjustment). |
| app/_includes/plugins/oidc/identity-server-intro.md | New include describing the Kong Identity auth server context for examples. |
| app/_how-tos/gateway/authenticate-principals-with-oidc.md | New how-to page (currently only frontmatter; needs content + validation and frontmatter fixes). |
Comments suppressed due to low confidence (1)
app/_how-tos/gateway/authenticate-principals-with-oidc.md:61
- This how-to currently has frontmatter only and no steps/validation section after the
---; our how-to convention is an end-to-end tutorial that ends with a validation step users can run.
---
* feat(identity: basic auth how-to * Apply suggestion from @juliamrch * Apply suggestion from @juliamrch * fix: frontmatter * Update app/_how-tos/gateway/authenticate-principals-with-basic-authentication.md * feat(identity): reference in index * feat(identity): principal example for plugin * feat(identity): add version * remove links Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> * Update app/_how-tos/gateway/authenticate-principals-with-basic-authentication.md Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
* feat(event-gw): SASL PLAIN fetch Kong Identity principal (#5365) * feat(event-gw): SASL PLAIN fetch Kong Identity principal * move directory to prereq and make a bit more generic Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * add how to to index, fix validate wording Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Add identity product to how to Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * feat(event-gw): SASL OAUTH fetch Kong Identity principal (#5366) * feat(event-gw): SASL OAUTH fetch Kong Identity principal * copilot review * fix conflict Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Add directory prereq, add network container step, some small wording adjustments Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * feat(portal): Apply plugins to apps (#5663) * Update reference content Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Dev portal variable, caching infos Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * UI step for link consumer, API steps for principal/plugin link, convert yaml to md Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * fix principal requests Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply PM/eng feedback Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Adjust kaa vs ace wording Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Fix section lead in Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestions from copilot Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix consumer viewer role thingy Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * update descriptions (#5665) * Chore(EGW): V1.1.1 Changelog (#5664) * egw changelog * add date * vale * vale + last entry * Fix(Debugger): Update debugger (#5666) * Update dbeugger docs * more changes * one more edit * feat(identity): draft auth key guide * feat(identity): test and validate guide * feat(identity): add directory name template * fix(identity): export directory name to decK * fix(identity): variable export * chore(deps): update docs from repo source (#5490) Signed-off-by: kumahq[bot] <110050114+kumahq[bot]@users.noreply.github.com> Co-authored-by: kumahq[bot] <110050114+kumahq[bot]@users.noreply.github.com> * typo :( * fix(identity): remove link * fetch principal template from iss5037 * feat(identity): replace text with principal include * update auth-key plugin overview * Update app/_how-tos/gateway/authenticate-principals-with-key-auth.md * add version for principals * feat(identity): add example * fix: variable names * add links Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> * feat(identity): add key auth guide to index * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Julia <101819212+juliamrch@users.noreply.github.com> * fix: add tools metadata * Apply suggestion from @juliamrch * Apply suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * Update app/_how-tos/gateway/authenticate-principals-with-key-auth.md Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> --------- Signed-off-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Signed-off-by: kumahq[bot] <110050114+kumahq[bot]@users.noreply.github.com> Co-authored-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Angel <Guaris@users.noreply.github.com> Co-authored-by: kumahq[bot] <110050114+kumahq[bot]@users.noreply.github.com>
* feat(identity): include principals + directory * feat(identity): include identity * Apply suggestions from code review Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> * feat(identity): add urls * fix: format * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
cloudjumpercat
left a comment
There was a problem hiding this comment.
TL;DR:
- Apply wording suggestions from the first plugin example to all examples.
- Double check if we should update the example for Kong OAuth token authentication (currently it wasn't updated)
- Update the OIDC plugin overview with info about Kong Identity/principals similar to what you did with other plugin overviews
- Check with Jessup if we'd rather create separate Kong Identity examples instead of overwriting the existing ones.
Longer description:
I've tested all the plugin configs (just checked to see if they ran, didn't run any validations if they could actually authenticate) and I left a few wording suggestions on the first one that would apply to all of them.
I also noticed that all the authentication flow ones were changed to Kong Identity except "Kong OAuth token authentication" wasn't sure if this was intentional or not.
You'll also need to update the OIDC plugin overview with information about Kong Identity/principals (similar to what you did with the other plugins).
Check with Jessup if we'd rather create separate Kong Identity examples instead of overwriting the existing ones.
This one is a can of worms... My recommendation is that we create a new section of plugin examples for Kong Identity, create new plugin example files with the Kong Identity updates you've made and leave the existing examples as-is (ex. create identity-client-credentials.yaml with your updates and leave client-credentials.yaml as it originally was).
Why?
- If we replace the current examples with Kong Identity, we'll need to change the version to 3.15. This will be confusing if it's the only example since users will wonder if they can't do these configurations in pre-3.15 versions (they can, just not with Kong Identity).
- We'd also need to remove - admin-api from supported tools since I'm 90% certain we don't have everything in place to use Kong Identity with on-prem.
The dev team wants to replace Keycloak stuff with Kong Identity, but this is a bigger discussion because to do so, we'd be abandoning on-prem users.
33ce795 to
7b2f80b
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Diana <75819066+cloudjumpercat@users.noreply.github.com>
Description
closes #5048
Preview Links
Plugin config examples:
New shared includes (rendered into the pages above)
app/_includes/plugins/oidc/identity-server-intro.mdapp/_includes/plugins/oidc/idp-requirement.mdTo do
Set compatibility with
on-premfor:Set incompatibility with
on-premfor:Checklist
descriptionentry in frontmatter.