Skip to content

[RHDHBUGS-2722]: Restructure authentication title to JTBD outline#2049

Open
themr0c wants to merge 16 commits intoredhat-developer:mainfrom
themr0c:rhdhbugs-2722-jtbd-authentication
Open

[RHDHBUGS-2722]: Restructure authentication title to JTBD outline#2049
themr0c wants to merge 16 commits intoredhat-developer:mainfrom
themr0c:rhdhbugs-2722-jtbd-authentication

Conversation

@themr0c
Copy link
Copy Markdown
Member

@themr0c themr0c commented Apr 14, 2026

IMPORTANT: Do Not Merge - To be merged by Docs Team Only

Version(s): 1.10.0
Issue: https://redhat.atlassian.net/browse/RHDHBUGS-2722
Preview: N/A

Summary

  • Restructure the authentication title from provider-centric (one assembly per IdP bundling secrets, auth, provisioning) to JTBD-centric (separate sections for sharing secrets, importing users, enabling authentication)
  • Split 4 monolithic IdP procedures (RHBK, GitHub, Azure, GitLab) into 3 focused modules each: secret sharing, user import, auth configuration
  • Extract LDAP secret-sharing steps into a standalone procedure
  • Update the get-started title's mandatory-only authentication assembly to use the new split procedures
  • Delete 26 old monolithic files (procedures, assemblies, snippets)

New outline

  1. Understanding authentication and user provisioning
  2. Enabling or disabling authentication with the guest user
  3. Sharing a secret with your identity provider (RHBK, LDAP, GitHub, Azure, GitLab)
  4. Importing users and groups from your identity provider (+ custom transformers)
  5. Enabling authentication with your identity provider (RHBK, GitHub, Azure, GitLab)
  6. Enabling authentication with external services (auxiliary IdP, service-to-service)
  7. Enabling auto-logout for inactive users
  8. Troubleshooting authentication issues

Test plan

  • All 32 titles build successfully (build-ccutil.sh: 32 passed, 0 failed)
  • Both affected titles verified: auth title and get-started title
  • No broken cross-references (ccutil reports zero Unknown ID errors)
  • CQA checks pass on both titles
  • Review new procedure content for accuracy (secrets, import, auth separation)
  • Verify PR preview renders correctly

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

@rhdh-bot
Copy link
Copy Markdown
Collaborator

rhdh-bot commented Apr 14, 2026

Content Quality Assessment Results

CQA Report

  • CQA-00a: Orphaned modules
  • CQA-00b: Directory structure
  • CQA-01: Vale AsciiDoc DITA compliance
  • CQA-02: Verify assembly structure
  • CQA-03: Verify content type metadata
  • CQA-04: Verify module templates
  • CQA-05: Verify required modular elements
  • CQA-06: Verify assemblies follow official template (one user story)
  • CQA-07: Verify TOC depth (max 3 levels)
  • CQA-08: Verify short description content quality
  • CQA-09: Verify short description format
  • CQA-10: Verify titles are brief, complete, and descriptive
  • CQA-11: Verify procedure prerequisites
  • CQA-12: Verify grammar and style (Vale)
  • CQA-13: Verify content matches declared type
  • CQA-14: Verify no broken links
  • CQA-15: Check redirects
  • CQA-16: Verify official product names
  • CQA-17: Verify legal disclaimers for preview features

Summary

Checks: 19 total, 19 pass, 0 fail


Automated CQA check run on the entire repository — 2026-04-15 18:23:31 UTC

@rhdh-bot
Copy link
Copy Markdown
Collaborator

rhdh-bot commented Apr 14, 2026

Updated preview: https://redhat-developer.github.io/red-hat-developers-documentation-rhdh/pr-2049/ @ 4/15/2026, 6:33:50 PM

themr0c and others added 10 commits April 15, 2026 18:51
Establish the new section structure: share secrets, import users,
enable auth, external services. Existing content temporarily parked
under the auth section pending per-IdP splits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract secrets sharing, user import, and auth config from the
monolithic RHBK procedure into focused JTBD modules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace old monolithic proc-enable-user-authentication-with-{rhbk,github,microsoft-azure}
wrapper includes with the new split procedures (secret, import, auth) for each IdP.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…d snippets

Delete 26 files replaced by the new JTBD-structured authentication docs:
- 4 old per-IdP assemblies (RHBK, GitHub, Microsoft Azure, GitLab)
- 3 old monolithic with-optional-steps procedures
- 1 old monolithic GitLab procedure
- 3 old mandatory-only wrapper procedures
- 15 orphaned snippet files

5 snippet files retained (still referenced by new split procedures):
- snip-enabling-user-authentication-with-rhbk-common-prerequisites.adoc
- snip-enabling-user-authentication-with-github-common-prerequisites.adoc
- snip-enabling-user-authentication-with-microsoft-azure-common-prerequisites.adoc
- snip-enable-user-authentication-with-gitlab-common-prerequisites.adoc
- snip-disabling-the-guest-user-step.adoc

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Hardcoded xref targets to _share-a-secret-with-your-identity-provider
broke when procedures were included in the mandatory-only assembly
(which uses a different context). Introduce a {secrets-context}
attribute set by each parent assembly to ensure xrefs resolve correctly
in both the auth title and the get-started mandatory-only assembly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Custom transformer prerequisites referenced old monolithic procedure
IDs. LDAP procedure referenced RHBK auth with {parent-context} which
no longer resolves correctly after the assembly restructure. Hardcode
the correct target contexts for cross-assembly xrefs.
@themr0c themr0c force-pushed the rhdhbugs-2722-jtbd-authentication branch from 5e564f5 to 3793412 Compare April 15, 2026 16:52
Update xref context suffixes to match the actual assembly contexts:
- LDAP procedure: use enable-authentication-with-your-identity-provider
- Troubleshoot catalog errors: use import-users-and-groups-from-your-identity-provider

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@themr0c themr0c removed the Technical review needed 🔩 Test all the procedures label Apr 15, 2026
@themr0c themr0c removed the request for review from JessicaJHee April 15, 2026 17:48
@themr0c
Copy link
Copy Markdown
Member Author

themr0c commented Apr 15, 2026

No technical review needed because it is only content reshuffle (acked by @JessicaJHee).

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Member

@deerskindoll deerskindoll left a comment

Choose a reason for hiding this comment

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

first batch of comments

:secrets-context: enable-authentication-in-rhdh-with-mandatory-steps-only

[role="_abstract"]
You can enable authentication in {product} to allow users to sign in using credentials from an external identity provider, such as {rhbk}, GitHub, or {azure-brand-name}, and provision user and group data to the software catalog.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
You can enable authentication in {product} to allow users to sign in using credentials from an external identity provider, such as {rhbk}, GitHub, or {azure-brand-name}, and provision user and group data to the software catalog.
Enable authentication in {product} to allow users to sign in using credentials from an external identity provider, such as {rhbk}, GitHub, or {azure-brand-name}, and provision user and group data to the software catalog.

In production more, do not enable `dangerouslyAllowSignInWithoutUserInCatalog`.
====

. To disable the guest login option, in the `{my-app-config-file}` file, set the authentication environment to `production`:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

is this an optional step?

[WARNING]
====
In production mode, do not enable `dangerouslyAllowSignInWithoutUserInCatalog`.
In production more, do not enable `dangerouslyAllowSignInWithoutUserInCatalog`.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
In production more, do not enable `dangerouslyAllowSignInWithoutUserInCatalog`.
In production mode, do not enable `dangerouslyAllowSignInWithoutUserInCatalog`.


.Procedure

. Enable the GitHub authentication provider, by adding the GitHub authentication provider section to your `{my-app-config-file}` file:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
. Enable the GitHub authentication provider, by adding the GitHub authentication provider section to your `{my-app-config-file}` file:
. Add a GitHub authentication provider section to your `{my-app-config-file}` file:

Comment on lines +107 to +110
. To verify GitHub authentication:
.. Go to the {product-short} login page.
.. Your {product-short} sign-in page displays *Sign in using GitHub* and the Guest user sign-in is disabled.
.. Log in with a GitHub account.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
. To verify GitHub authentication:
.. Go to the {product-short} login page.
.. Your {product-short} sign-in page displays *Sign in using GitHub* and the Guest user sign-in is disabled.
.. Log in with a GitHub account.
. Go to the {product-short} login page.
. Your {product-short} sign-in page displays *Sign in using GitHub* and the Guest user sign-in is disabled.
. Log in with a GitHub account.

Enter your schedule initial delay, in the ISO duration or "human duration" format.

.Verification
* To verify user and group provisioning, check the console logs.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
* To verify user and group provisioning, check the console logs.
* Check user and group provisioning in the console logs.


.Procedure

. Enable provisioning for GitLab users and groups to the {product-short} software catalog by adding the provider section to your {product-very-short} `{my-app-config-file}` file:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
. Enable provisioning for GitLab users and groups to the {product-short} software catalog by adding the provider section to your {product-very-short} `{my-app-config-file}` file:
. Add a GitLab provider section to your {product-very-short} `{my-app-config-file}` file:

Set to `true` to include users who do not occupy a paid seat. This setting applies only to GitLab SaaS.

`schedule.initialDelay`::
Enter your schedule initial delay, in the ISO duration or "human duration" format.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Enter your schedule initial delay, in the ISO duration or "human duration" format.
Enter your schedule initial delay, in the ISO duration or `HumanDuration` format.

Enter your schedule initial delay, in the ISO duration or "human duration" format.

`schedule.frequency`::
Enter your schedule frequency, in the cron, ISO duration, or "human duration" format.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Enter your schedule frequency, in the cron, ISO duration, or "human duration" format.
Enter your schedule frequency, in the cron, ISO duration, or `HumanDuration` format.

Enter your schedule frequency, in the cron, ISO duration, or "human duration" format.

`schedule.timeout`::
Enter your schedule timeout, in the ISO duration or "human duration" format.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Enter your schedule timeout, in the ISO duration or "human duration" format.
Enter your schedule timeout, in the ISO duration or `HumanDuration` format.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants