Rename BasicAuth executor to CredentialsAuth across backend and frontend#2777
Conversation
📝 WalkthroughWalkthroughRenames BasicAuth → CredentialsAuth and rewires flows: credential prompts now target ChangesAuthentication Executor Refactoring
Sequence Diagram(s)sequenceDiagram
participant Prompt as prompt_credentials / prompt_password
participant Exec as credentials_auth (TASK_EXECUTION)
participant Authorization as authorization_check / auth_assert / provisioning
Prompt->>Exec: submit -> nextNode: credentials_auth
Exec->>Exec: run CredentialsAuthExecutor
Exec->>Authorization: onSuccess -> authorization_check / provisioning
Estimated code review effort🎯 4 (Complex) | ⏱️ ~40 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (2)
backend/internal/flow/executor/consent_executor_test.go (1)
1362-1421: ⚡ Quick winAlign test name/message with CredentialsAuth terminology.
This test still uses
BasicAuthin the function name and assertion message, which is inconsistent with the renamed executor.Proposed cleanup
-func (suite *ConsentExecutorTestSuite) TestExecute_BasicAuth_NilAvailableAttributes_PromptsConsent() { +func (suite *ConsentExecutorTestSuite) TestExecute_CredentialsAuth_NilAvailableAttributes_PromptsConsent() { @@ - "Executor must prompt for consent when AuthUser is authenticated (BasicAuth)") + "Executor must prompt for consent when AuthUser is authenticated (CredentialsAuth)")🤖 Prompt for 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. In `@backend/internal/flow/executor/consent_executor_test.go` around lines 1362 - 1421, Rename the test function TestExecute_BasicAuth_NilAvailableAttributes_PromptsConsent to use CredentialsAuth (e.g., TestExecute_CredentialsAuth_NilAvailableAttributes_PromptsConsent) and update any in-test comment and the assertion failure message that currently says "BasicAuth" to "CredentialsAuth" (the failing message in the assert.Equal call comparing resp.Status). Ensure references to the executor type/name in the test remain correct (function name TestExecute_BasicAuth_NilAvailableAttributes_PromptsConsent and the assert.Equal message are the unique symbols to change).frontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsx (1)
222-222: ⚡ Quick winUse
AuthenticatorTypes.CREDENTIALS_AUTHinstead of a raw integration string.This mock is part of rename-sensitive test flow logic; using the shared constant prevents silent drift on future renames.
As per coding guidelines, "Follow React/TypeScript component patterns, testing, and linting conventions as documented in `docs/content/community/contributing/contributing-code/frontend-development/overview.mdx`."Proposed patch
+import {AuthenticatorTypes} from '`@/features/integrations/models/authenticators`'; ... - <button type="button" data-testid="toggle-integration" onClick={() => onIntegrationToggle('credentials_auth')}> + <button + type="button" + data-testid="toggle-integration" + onClick={() => onIntegrationToggle(AuthenticatorTypes.CREDENTIALS_AUTH)} + >🤖 Prompt for 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. In `@frontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsx` at line 222, The test currently passes the raw string 'credentials_auth' to onIntegrationToggle in the <button data-testid="toggle-integration"> click handler; replace that raw literal with the shared enum/constant AuthenticatorTypes.CREDENTIALS_AUTH and update the test imports to import AuthenticatorTypes (so the rename-safe constant is used), ensuring the onIntegrationToggle('credentials_auth') call becomes onIntegrationToggle(AuthenticatorTypes.CREDENTIALS_AUTH) in the ApplicationCreatePage.test.tsx file and any related assertions use the same constant.
🤖 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 `@backend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.json`:
- Around line 96-106: The authentication executor wire-format was renamed from
BasicAuthExecutor/basic_auth to CredentialsAuthExecutor/credentials_auth but no
docs or migration notes were added; update docs by adding a guides page under
docs/content/guides/ that documents the breaking change (BasicAuthExecutor ->
CredentialsAuthExecutor and basic_auth -> credentials_auth), include
persisted-flow migration guidance showing how to migrate existing flows and any
JSON schema changes (reference the auth_flow_basic.json node id
"credentials_auth" and executor name "CredentialsAuthExecutor"), and add a
migration note in the release notes documenting the compatibility impact and
upgrade steps.
In `@backend/internal/flow/executor/utils.go`:
- Line 38: The rename of the auth-flow executor mapping (e.g.,
ExecutorNameCredentialsAuth / AuthenticatorCredentials) is a breaking change for
persisted/bootstrap flows previously using "BasicAuthExecutor"/"basic_auth";
update the documentation under docs/ (suggest docs/content/guides/) to add an
upgrade/migration note that clearly maps old names to new names
("BasicAuthExecutor" / "basic_auth" -> "CredentialsAuthExecutor" /
"credentials_auth"), show example JSON/YAML snippets for updating persisted
configs, and add a pointer from the auth flow docs/API reference to that
migration guide so users know to migrate stored flow definitions and any runtime
configuration.
In
`@frontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.ts`:
- Around line 39-42: Update the JSDoc example and any nearby wording in
getFlowSupportedIntegrations.ts to reflect the new identifier: change the
example output value from "basic_auth" to "credentials_auth" (matching
AuthenticatorTypes.CREDENTIALS_AUTH used in the code), and update any
accompanying descriptive text that references the old "basic" or "basic_auth"
naming so callers won't copy the retired identifier.
---
Nitpick comments:
In `@backend/internal/flow/executor/consent_executor_test.go`:
- Around line 1362-1421: Rename the test function
TestExecute_BasicAuth_NilAvailableAttributes_PromptsConsent to use
CredentialsAuth (e.g.,
TestExecute_CredentialsAuth_NilAvailableAttributes_PromptsConsent) and update
any in-test comment and the assertion failure message that currently says
"BasicAuth" to "CredentialsAuth" (the failing message in the assert.Equal call
comparing resp.Status). Ensure references to the executor type/name in the test
remain correct (function name
TestExecute_BasicAuth_NilAvailableAttributes_PromptsConsent and the assert.Equal
message are the unique symbols to change).
In
`@frontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsx`:
- Line 222: The test currently passes the raw string 'credentials_auth' to
onIntegrationToggle in the <button data-testid="toggle-integration"> click
handler; replace that raw literal with the shared enum/constant
AuthenticatorTypes.CREDENTIALS_AUTH and update the test imports to import
AuthenticatorTypes (so the rename-safe constant is used), ensuring the
onIntegrationToggle('credentials_auth') call becomes
onIntegrationToggle(AuthenticatorTypes.CREDENTIALS_AUTH) in the
ApplicationCreatePage.test.tsx file and any related assertions use the same
constant.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: b7e13087-590c-4ecc-a4e4-aaae94d1184a
📒 Files selected for processing (45)
backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.jsonbackend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.jsonbackend/cmd/server/bootstrap/flows/registration/registration_flow_basic.jsonbackend/internal/flow/executor/auth_assert_executor_test.gobackend/internal/flow/executor/consent_executor.gobackend/internal/flow/executor/consent_executor_test.gobackend/internal/flow/executor/constants.gobackend/internal/flow/executor/credentials_auth_executor.gobackend/internal/flow/executor/credentials_auth_executor_test.gobackend/internal/flow/executor/init.gobackend/internal/flow/executor/utils.gobackend/internal/flow/executor/utils_test.gofrontend/apps/console/src/components/GatePreview/mocks/__tests__/buildPreviewMock.test.tsfrontend/apps/console/src/components/GatePreview/mocks/buildPreviewMock.tsfrontend/apps/console/src/features/applications/components/create-application/Preview.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureDetails.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/Preview.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/IndividualMethodsToggleView.test.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/__tests__/ApplicationCreateProvider.test.tsxfrontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsxfrontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsxfrontend/apps/console/src/features/applications/utils/__tests__/resolveAuthFlowId.test.tsfrontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsxfrontend/apps/console/src/features/flows/components/create-flow/__tests__/SelectFlowTemplate.test.tsxfrontend/apps/console/src/features/flows/data/templates.jsonfrontend/apps/console/src/features/flows/models/templates.tsfrontend/apps/console/src/features/flows/pages/__tests__/FlowCreatePage.test.tsxfrontend/apps/console/src/features/flows/utils/__tests__/findMatchingFlowForIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/generateFlowGraph.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/getFlowSupportedIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.tsfrontend/apps/console/src/features/flows/utils/generateFlowGraph.tsfrontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.tsfrontend/apps/console/src/features/integrations/models/__tests__/authenticators.test.tsfrontend/apps/console/src/features/integrations/models/authenticators.tsfrontend/apps/console/src/features/login-flow/data/executors.jsonfrontend/apps/console/src/features/login-flow/data/templates.jsonfrontend/apps/console/src/features/login-flow/data/widgets.json
| "nextNode": "credentials_auth" | ||
| } | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "id": "basic_auth", | ||
| "id": "credentials_auth", | ||
| "type": "TASK_EXECUTION", | ||
| "executor": { | ||
| "name": "BasicAuthExecutor" | ||
| "name": "CredentialsAuthExecutor" | ||
| }, |
There was a problem hiding this comment.
🔴 Documentation update is required for the executor wire-format rename.
🔴 Documentation Required: This PR introduces a user-facing change (e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior) but does not include corresponding documentation updates under docs/. Please update the relevant documentation before merging.
Specifically, document the breaking authentication-flow contract change from BasicAuthExecutor/basic_auth to CredentialsAuthExecutor/credentials_auth (including persisted-flow migration guidance) in a guides page under docs/content/guides/ (or create one) and add a migration note in release docs.
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/ ... flag this as a major issue ..."
🤖 Prompt for 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.
In `@backend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.json`
around lines 96 - 106, The authentication executor wire-format was renamed from
BasicAuthExecutor/basic_auth to CredentialsAuthExecutor/credentials_auth but no
docs or migration notes were added; update docs by adding a guides page under
docs/content/guides/ that documents the breaking change (BasicAuthExecutor ->
CredentialsAuthExecutor and basic_auth -> credentials_auth), include
persisted-flow migration guidance showing how to migrate existing flows and any
JSON schema changes (reference the auth_flow_basic.json node id
"credentials_auth" and executor name "CredentialsAuthExecutor"), and add a
migration note in the release notes documenting the compatibility impact and
upgrade steps.
| func getAuthnServiceName(executorName string) string { | ||
| executorToAuthnServiceMap := map[string]string{ | ||
| ExecutorNameBasicAuth: authncm.AuthenticatorCredentials, | ||
| ExecutorNameCredentialsAuth: authncm.AuthenticatorCredentials, |
There was a problem hiding this comment.
Missing docs for the breaking auth-flow executor rename.
🔴 Documentation Required: This PR introduces a user-facing change
(e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior)
but does not include corresponding documentation updates under docs/.
Please update the relevant documentation before merging.
Please document the migration path for persisted/bootstrap flows from "BasicAuthExecutor"/"basic_auth" to "CredentialsAuthExecutor"/"credentials_auth" (for example in docs/content/guides/ upgrade/migration docs, with a pointer from auth flow docs/API references).
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/, flag this as a major issue."
🤖 Prompt for 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.
In `@backend/internal/flow/executor/utils.go` at line 38, The rename of the
auth-flow executor mapping (e.g., ExecutorNameCredentialsAuth /
AuthenticatorCredentials) is a breaking change for persisted/bootstrap flows
previously using "BasicAuthExecutor"/"basic_auth"; update the documentation
under docs/ (suggest docs/content/guides/) to add an upgrade/migration note that
clearly maps old names to new names ("BasicAuthExecutor" / "basic_auth" ->
"CredentialsAuthExecutor" / "credentials_auth"), show example JSON/YAML snippets
for updating persisted configs, and add a pointer from the auth flow docs/API
reference to that migration guide so users know to migrate stored flow
definitions and any runtime configuration.
12702f2 to
1415b42
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.json`:
- Around line 85-95: Update the documentation to cover the breaking change in
the authentication flow: add a migration and upgrade guide under
docs/content/guides that explains replacing "BasicAuthExecutor" / "basic_auth"
with "CredentialsAuthExecutor" / "credentials_auth", include the
persisted/bootstrap flow migration steps (what to change in stored flow JSON,
any compatibility scripts or conversion steps, and config or SDK impacts), and
add a pointer from the existing auth flow docs/reference to this new guide so
users are guided to the upgrade instructions.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 4837275a-3318-4246-8d05-f4be6cede4cb
📒 Files selected for processing (47)
backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.jsonbackend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.jsonbackend/cmd/server/bootstrap/flows/registration/registration_flow_basic.jsonbackend/internal/flow/executor/auth_assert_executor_test.gobackend/internal/flow/executor/consent_executor.gobackend/internal/flow/executor/consent_executor_test.gobackend/internal/flow/executor/constants.gobackend/internal/flow/executor/credentials_auth_executor.gobackend/internal/flow/executor/credentials_auth_executor_test.gobackend/internal/flow/executor/init.gobackend/internal/flow/executor/utils.gobackend/internal/flow/executor/utils_test.gobackend/internal/flow/mgt/inference_test.gobackend/internal/flow/mgt/service_test.gofrontend/apps/console/src/components/GatePreview/mocks/__tests__/buildPreviewMock.test.tsfrontend/apps/console/src/components/GatePreview/mocks/buildPreviewMock.tsfrontend/apps/console/src/features/applications/components/create-application/Preview.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureDetails.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/Preview.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/IndividualMethodsToggleView.test.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/__tests__/ApplicationCreateProvider.test.tsxfrontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsxfrontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsxfrontend/apps/console/src/features/applications/utils/__tests__/resolveAuthFlowId.test.tsfrontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsxfrontend/apps/console/src/features/flows/components/create-flow/__tests__/SelectFlowTemplate.test.tsxfrontend/apps/console/src/features/flows/data/templates.jsonfrontend/apps/console/src/features/flows/models/templates.tsfrontend/apps/console/src/features/flows/pages/__tests__/FlowCreatePage.test.tsxfrontend/apps/console/src/features/flows/utils/__tests__/findMatchingFlowForIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/generateFlowGraph.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/getFlowSupportedIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.tsfrontend/apps/console/src/features/flows/utils/generateFlowGraph.tsfrontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.tsfrontend/apps/console/src/features/integrations/models/__tests__/authenticators.test.tsfrontend/apps/console/src/features/integrations/models/authenticators.tsfrontend/apps/console/src/features/login-flow/data/executors.jsonfrontend/apps/console/src/features/login-flow/data/templates.jsonfrontend/apps/console/src/features/login-flow/data/widgets.json
✅ Files skipped from review due to trivial changes (6)
- backend/internal/flow/executor/consent_executor.go
- frontend/apps/console/src/features/flows/components/create-flow/tests/SelectFlowTemplate.test.tsx
- frontend/apps/console/src/features/applications/pages/tests/ApplicationCreatePage.test.tsx
- backend/internal/flow/executor/consent_executor_test.go
- frontend/apps/console/src/features/applications/contexts/ApplicationCreate/tests/ApplicationCreateProvider.test.tsx
- frontend/apps/console/src/features/flows/utils/tests/getFlowSupportedIntegrations.test.ts
🚧 Files skipped from review as they are similar to previous changes (32)
- frontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsx
- backend/internal/flow/executor/utils_test.go
- frontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.ts
- frontend/apps/console/src/features/applications/components/create-application/Preview.tsx
- backend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.json
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsx
- frontend/apps/console/src/features/flows/pages/tests/FlowCreatePage.test.tsx
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsx
- frontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsx
- frontend/apps/console/src/features/integrations/models/tests/authenticators.test.ts
- frontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.ts
- frontend/apps/console/src/features/login-flow/data/executors.json
- frontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsx
- frontend/apps/console/src/features/login-flow/data/widgets.json
- frontend/apps/console/src/features/integrations/models/authenticators.ts
- backend/internal/flow/executor/init.go
- frontend/apps/console/src/features/flows/models/templates.ts
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/tests/ConfigureSignInOptions.test.tsx
- backend/cmd/server/bootstrap/flows/registration/registration_flow_basic.json
- backend/internal/flow/executor/auth_assert_executor_test.go
- frontend/apps/console/src/features/flows/utils/tests/findMatchingFlowForIntegrations.test.ts
- frontend/apps/console/src/features/applications/components/create-application/tests/ConfigureDetails.test.tsx
- frontend/apps/console/src/features/applications/components/create-application/tests/ConfigureSignInOptions.test.tsx
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/tests/IndividualMethodsToggleView.test.tsx
- frontend/apps/console/src/components/GatePreview/mocks/tests/buildPreviewMock.test.ts
- backend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.json
- backend/internal/flow/executor/credentials_auth_executor.go
- frontend/apps/console/src/features/flows/utils/generateFlowGraph.ts
- frontend/apps/console/src/features/login-flow/data/templates.json
- frontend/apps/console/src/features/flows/data/templates.json
- frontend/apps/console/src/features/flows/utils/tests/generateFlowGraph.test.ts
- backend/internal/flow/executor/credentials_auth_executor_test.go
| "nextNode": "credentials_auth" | ||
| } | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "id": "basic_auth", | ||
| "id": "credentials_auth", | ||
| "type": "TASK_EXECUTION", | ||
| "executor": { | ||
| "name": "BasicAuthExecutor" | ||
| "name": "CredentialsAuthExecutor" | ||
| }, |
There was a problem hiding this comment.
🔴 Documentation Required for this breaking authentication-flow contract change.
Line 85 and Line 94 switch the wire-format from basic_auth/BasicAuthExecutor to credentials_auth/CredentialsAuthExecutor.
🔴 Documentation Required: This PR introduces a user-facing change (e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior) but does not include corresponding documentation updates under docs/. Please update the relevant documentation before merging.
Please document persisted/bootstrap flow migration ("BasicAuthExecutor" + "basic_auth" → "CredentialsAuthExecutor" + "credentials_auth") and add upgrade guidance under docs/content/guides/ (with a pointer from the auth flow docs/reference).
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/ ... flag this as a major issue ..."
🤖 Prompt for 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.
In `@backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.json`
around lines 85 - 95, Update the documentation to cover the breaking change in
the authentication flow: add a migration and upgrade guide under
docs/content/guides that explains replacing "BasicAuthExecutor" / "basic_auth"
with "CredentialsAuthExecutor" / "credentials_auth", include the
persisted/bootstrap flow migration steps (what to change in stored flow JSON,
any compatibility scripts or conversion steps, and config or SDK impacts), and
add a pointer from the existing auth flow docs/reference to this new guide so
users are guided to the upgrade instructions.
1415b42 to
65c4b57
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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
`@frontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsx`:
- Line 73: Document the authentication flow migration introduced by the change
to AuthenticatorTypes.CREDENTIALS_AUTH: add a migration guide that explains
replacing BasicAuthExecutor/basic_auth with
CredentialsAuthExecutor/credentials_auth, include step-by-step persisted-flow
JSON migration instructions (what keys to rename/change, how to migrate stored
flows), enumerate backward-compatibility impacts and any required runtime config
changes, and update API/flow contract docs (e.g., flow reference or
docs/content/apis.mdx) to reflect the new executor and auth type; reference the
symbols BasicAuthExecutor, basic_auth, CredentialsAuthExecutor,
credentials_auth, and AuthenticatorTypes.CREDENTIALS_AUTH in the docs so
reviewers can verify completeness.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 6519f5de-ffe3-4cca-a53c-316f37700c0e
📒 Files selected for processing (47)
backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.jsonbackend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.jsonbackend/cmd/server/bootstrap/flows/registration/registration_flow_basic.jsonbackend/internal/flow/executor/auth_assert_executor_test.gobackend/internal/flow/executor/consent_executor.gobackend/internal/flow/executor/consent_executor_test.gobackend/internal/flow/executor/constants.gobackend/internal/flow/executor/credentials_auth_executor.gobackend/internal/flow/executor/credentials_auth_executor_test.gobackend/internal/flow/executor/init.gobackend/internal/flow/executor/utils.gobackend/internal/flow/executor/utils_test.gobackend/internal/flow/mgt/inference_test.gobackend/internal/flow/mgt/service_test.gofrontend/apps/console/src/components/GatePreview/mocks/__tests__/buildPreviewMock.test.tsfrontend/apps/console/src/components/GatePreview/mocks/buildPreviewMock.tsfrontend/apps/console/src/features/applications/components/create-application/Preview.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureDetails.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/Preview.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/IndividualMethodsToggleView.test.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/__tests__/ApplicationCreateProvider.test.tsxfrontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsxfrontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsxfrontend/apps/console/src/features/applications/utils/__tests__/resolveAuthFlowId.test.tsfrontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsxfrontend/apps/console/src/features/flows/components/create-flow/__tests__/SelectFlowTemplate.test.tsxfrontend/apps/console/src/features/flows/data/templates.jsonfrontend/apps/console/src/features/flows/models/templates.tsfrontend/apps/console/src/features/flows/pages/__tests__/FlowCreatePage.test.tsxfrontend/apps/console/src/features/flows/utils/__tests__/findMatchingFlowForIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/generateFlowGraph.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/getFlowSupportedIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.tsfrontend/apps/console/src/features/flows/utils/generateFlowGraph.tsfrontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.tsfrontend/apps/console/src/features/integrations/models/__tests__/authenticators.test.tsfrontend/apps/console/src/features/integrations/models/authenticators.tsfrontend/apps/console/src/features/login-flow/data/executors.jsonfrontend/apps/console/src/features/login-flow/data/templates.jsonfrontend/apps/console/src/features/login-flow/data/widgets.json
✅ Files skipped from review due to trivial changes (7)
- frontend/apps/console/src/features/flows/pages/tests/FlowCreatePage.test.tsx
- frontend/apps/console/src/features/applications/utils/tests/resolveAuthFlowId.test.ts
- frontend/apps/console/src/features/flows/components/create-flow/tests/SelectFlowTemplate.test.tsx
- backend/internal/flow/executor/utils.go
- backend/internal/flow/executor/consent_executor_test.go
- frontend/apps/console/src/features/flows/utils/tests/findMatchingFlowForIntegrations.test.ts
- frontend/apps/console/src/features/applications/components/create-application/tests/Preview.test.tsx
🚧 Files skipped from review as they are similar to previous changes (36)
- frontend/apps/console/src/features/login-flow/data/executors.json
- backend/internal/flow/executor/utils_test.go
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsx
- frontend/apps/console/src/features/flows/models/templates.ts
- frontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsx
- backend/internal/flow/mgt/service_test.go
- frontend/apps/console/src/features/applications/components/create-application/Preview.tsx
- frontend/apps/console/src/features/applications/contexts/ApplicationCreate/tests/ApplicationCreateProvider.test.tsx
- backend/internal/flow/executor/constants.go
- frontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsx
- frontend/apps/console/src/features/integrations/models/tests/authenticators.test.ts
- backend/internal/flow/executor/auth_assert_executor_test.go
- frontend/apps/console/src/features/flows/utils/tests/getFlowSupportedIntegrations.test.ts
- frontend/apps/console/src/components/GatePreview/mocks/tests/buildPreviewMock.test.ts
- backend/internal/flow/executor/init.go
- backend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.json
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsx
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/tests/ConfigureSignInOptions.test.tsx
- backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.json
- frontend/apps/console/src/features/integrations/models/authenticators.ts
- frontend/apps/console/src/features/flows/utils/generateFlowGraph.ts
- backend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.json
- frontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.ts
- frontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.ts
- backend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.json
- backend/internal/flow/executor/credentials_auth_executor.go
- backend/cmd/server/bootstrap/flows/registration/registration_flow_basic.json
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/tests/IndividualMethodsToggleView.test.tsx
- frontend/apps/console/src/features/login-flow/data/templates.json
- frontend/apps/console/src/components/GatePreview/mocks/buildPreviewMock.ts
- frontend/apps/console/src/features/login-flow/data/widgets.json
- frontend/apps/console/src/features/applications/components/create-application/tests/ConfigureSignInOptions.test.tsx
- backend/internal/flow/mgt/inference_test.go
- frontend/apps/console/src/features/flows/utils/tests/generateFlowGraph.test.ts
- frontend/apps/console/src/features/flows/data/templates.json
- backend/internal/flow/executor/credentials_auth_executor_test.go
| selectedColor: '#3B82F6', | ||
| integrations: { | ||
| [AuthenticatorTypes.BASIC_AUTH]: true, | ||
| [AuthenticatorTypes.CREDENTIALS_AUTH]: true, |
There was a problem hiding this comment.
🔴 Documentation Required: This PR introduces a user-facing change (e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior) but does not include corresponding documentation updates under docs/. Please update the relevant documentation before merging.
Specifically, document the authentication flow migration from BasicAuthExecutor/basic_auth to CredentialsAuthExecutor/credentials_auth, including persisted-flow JSON migration steps and compatibility impact. Suggested locations: docs/content/guides/ (migration guide) and, if flow contracts are documented, docs/content/apis.mdx or the relevant flow reference page.
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/ ... flag this as a major issue."
🤖 Prompt for 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.
In
`@frontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsx`
at line 73, Document the authentication flow migration introduced by the change
to AuthenticatorTypes.CREDENTIALS_AUTH: add a migration guide that explains
replacing BasicAuthExecutor/basic_auth with
CredentialsAuthExecutor/credentials_auth, include step-by-step persisted-flow
JSON migration instructions (what keys to rename/change, how to migrate stored
flows), enumerate backward-compatibility impacts and any required runtime config
changes, and update API/flow contract docs (e.g., flow reference or
docs/content/apis.mdx) to reflect the new executor and auth type; reference the
symbols BasicAuthExecutor, basic_auth, CredentialsAuthExecutor,
credentials_auth, and AuthenticatorTypes.CREDENTIALS_AUTH in the docs so
reviewers can verify completeness.
65c4b57 to
a802880
Compare
a802880 to
9bc088b
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (1)
frontend/apps/console/src/features/integrations/models/authenticators.ts (1)
27-30:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd migration docs for the authenticator contract rename.
🔴 Documentation Required: This PR introduces a user-facing change
(e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior)
but does not include corresponding documentation updates underdocs/.
Please update the relevant documentation before merging.Line 28 changes the flow/authenticator contract from
basic_authtocredentials_auth(paired with backend executor rename fromBasicAuthExecutortoCredentialsAuthExecutor). Please add a migration guide for persisted flow JSON updates underdocs/content/guides/and update flow contract references indocs/content/apis.mdx(or the relevant flow reference page).As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under
docs/... flag this as a major issue."🤖 Prompt for 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. In `@frontend/apps/console/src/features/integrations/models/authenticators.ts` around lines 27 - 30, The authenticator contract rename (AuthenticatorTypes.CREDENTIALS_AUTH replacing previous basic_auth and the backend rename BasicAuthExecutor → CredentialsAuthExecutor) needs corresponding docs and a migration guide; add a migration guide under the project's docs guides explaining how to update persisted flow JSON (rename contract values from "basic_auth" to "credentials_auth" and update any executor references), and update the API/flow reference page(s) to replace mentions of basic_auth/BasicAuthExecutor with credentials_auth/CredentialsAuthExecutor and include a short example of the updated flow JSON and steps to migrate.
🧹 Nitpick comments (1)
frontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsx (1)
222-226: ⚡ Quick winUse the shared authenticator constant instead of a raw integration key.
This hardcoded string is easy to drift again during future renames (and this file already has remaining
basic_authliterals in flow-generation mocks). Prefer the enum/constant source of truth.♻️ Suggested fix
+import {AuthenticatorTypes} from '../../../integrations/models/authenticators'; ... - onClick={() => onIntegrationToggle('credentials_auth')} + onClick={() => onIntegrationToggle(AuthenticatorTypes.CREDENTIALS_AUTH)}🤖 Prompt for 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. In `@frontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsx` around lines 222 - 226, Replace the hardcoded integration key 'credentials_auth' passed to onIntegrationToggle with the shared authenticator constant (e.g., IMPORTED_CONSTANT like AUTHENTICATOR.CREDENTIALS_AUTH) and add the corresponding import; also update any remaining raw literals such as 'basic_auth' in the test/mocks to use the same shared constants to keep keys consistent (locate usage at the button onClick calling onIntegrationToggle and in flow-generation mocks).
🤖 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
`@backend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.json`:
- Around line 174-175: Update the documentation to include a migration guide for
the flow contract rename from BasicAuthExecutor to CredentialsAuthExecutor: add
a new guide under docs/content/guides describing which persisted flow JSON
fields change (show the mapping from "BasicAuthExecutor" to
"CredentialsAuthExecutor" in flow JSON), provide step-by-step upgrade
instructions for operators to update existing persisted flows (including an
automated script/JSON patch example and verification steps), include rollback
guidance for reverting to the previous contract, and add a brief entry to the
release notes/changelog outlining the breaking change and why it was made;
reference the flow JSON change and the executor class names (BasicAuthExecutor,
CredentialsAuthExecutor, and the flow node key like "credentials_auth") so
readers can locate affected configurations.
In
`@backend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.json`:
- Around line 255-256: The change renames persisted authentication flow
contracts from basic_auth/BasicAuthExecutor to
credentials_auth/CredentialsAuthExecutor but no documentation or migration
guidance was added; add docs explaining the rename and migration steps: update
API docs (e.g., the APIs overview) to reflect the new contract names and add a
migration guide under docs/content/guides/ that shows how to transform stored
flows (search/replace basic_auth → credentials_auth and BasicAuthExecutor →
CredentialsAuthExecutor), include sample migration scripts or JSON snippets and
any backward-compatibility notes, and reference the affected flow file names
(auth_flow_disambiguation.json and any other flow files) so operators can locate
and update persisted flows.
In
`@tests/integration/resources/declarative_resources/flows/flow-declarative-1.yaml`:
- Around line 24-28: This change renames the flow executor wire-format from
BasicAuthExecutor to CredentialsAuthExecutor and the node id to
credentials_auth, so add a docs migration under docs/content/guides/flows/
explaining how to update persisted flow JSON/YAML: describe searching for node
entries with id "credentials_auth" or the old "BasicAuthExecutor" executor type
and replacing them with the new "credentials_auth" node id and
"CredentialsAuthExecutor" executor name; include a short example snippet showing
before/after YAML, note backward-incompatibility for stored flows, and provide a
one-line CLI/grep command suggestion to bulk-migrate files; reference the exact
symbols credentials_auth, CredentialsAuthExecutor, and BasicAuthExecutor in the
doc for clarity.
---
Duplicate comments:
In `@frontend/apps/console/src/features/integrations/models/authenticators.ts`:
- Around line 27-30: The authenticator contract rename
(AuthenticatorTypes.CREDENTIALS_AUTH replacing previous basic_auth and the
backend rename BasicAuthExecutor → CredentialsAuthExecutor) needs corresponding
docs and a migration guide; add a migration guide under the project's docs
guides explaining how to update persisted flow JSON (rename contract values from
"basic_auth" to "credentials_auth" and update any executor references), and
update the API/flow reference page(s) to replace mentions of
basic_auth/BasicAuthExecutor with credentials_auth/CredentialsAuthExecutor and
include a short example of the updated flow JSON and steps to migrate.
---
Nitpick comments:
In
`@frontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsx`:
- Around line 222-226: Replace the hardcoded integration key 'credentials_auth'
passed to onIntegrationToggle with the shared authenticator constant (e.g.,
IMPORTED_CONSTANT like AUTHENTICATOR.CREDENTIALS_AUTH) and add the corresponding
import; also update any remaining raw literals such as 'basic_auth' in the
test/mocks to use the same shared constants to keep keys consistent (locate
usage at the button onClick calling onIntegrationToggle and in flow-generation
mocks).
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 0561875a-9bfd-4fc9-949e-6c18941523c0
📒 Files selected for processing (73)
backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.jsonbackend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.jsonbackend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.jsonbackend/cmd/server/bootstrap/flows/registration/registration_flow_basic.jsonbackend/internal/flow/executor/auth_assert_executor_test.gobackend/internal/flow/executor/consent_executor.gobackend/internal/flow/executor/consent_executor_test.gobackend/internal/flow/executor/constants.gobackend/internal/flow/executor/credentials_auth_executor.gobackend/internal/flow/executor/credentials_auth_executor_test.gobackend/internal/flow/executor/init.gobackend/internal/flow/executor/utils.gobackend/internal/flow/executor/utils_test.gobackend/internal/flow/mgt/inference_test.gobackend/internal/flow/mgt/service_test.gofrontend/apps/console/src/components/GatePreview/mocks/__tests__/buildPreviewMock.test.tsfrontend/apps/console/src/components/GatePreview/mocks/buildPreviewMock.tsfrontend/apps/console/src/features/applications/components/create-application/Preview.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureDetails.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/__tests__/Preview.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/ConfigureSignInOptions.test.tsxfrontend/apps/console/src/features/applications/components/create-application/configure-signin-options/__tests__/IndividualMethodsToggleView.test.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/ApplicationCreateProvider.tsxfrontend/apps/console/src/features/applications/contexts/ApplicationCreate/__tests__/ApplicationCreateProvider.test.tsxfrontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsxfrontend/apps/console/src/features/applications/pages/__tests__/ApplicationCreatePage.test.tsxfrontend/apps/console/src/features/applications/utils/__tests__/resolveAuthFlowId.test.tsfrontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsxfrontend/apps/console/src/features/flows/components/create-flow/__tests__/SelectFlowTemplate.test.tsxfrontend/apps/console/src/features/flows/data/templates.jsonfrontend/apps/console/src/features/flows/models/templates.tsfrontend/apps/console/src/features/flows/pages/__tests__/FlowCreatePage.test.tsxfrontend/apps/console/src/features/flows/utils/__tests__/findMatchingFlowForIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/generateFlowGraph.test.tsfrontend/apps/console/src/features/flows/utils/__tests__/getFlowSupportedIntegrations.test.tsfrontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.tsfrontend/apps/console/src/features/flows/utils/generateFlowGraph.tsfrontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.tsfrontend/apps/console/src/features/integrations/models/__tests__/authenticators.test.tsfrontend/apps/console/src/features/integrations/models/authenticators.tsfrontend/apps/console/src/features/login-flow/data/executors.jsonfrontend/apps/console/src/features/login-flow/data/templates.jsonfrontend/apps/console/src/features/login-flow/data/widgets.jsontests/e2e/tests/sample-app-authentication/README-MFA.mdtests/e2e/utils/server-setup/mfa-flow-nodes.jsontests/e2e/utils/server-setup/mfa-registration-flow-nodes.jsontests/integration/flow/authentication/acr_options_flow_test.gotests/integration/flow/authentication/assurance_test.gotests/integration/flow/authentication/attribute_collect_test.gotests/integration/flow/authentication/authz_test.gotests/integration/flow/authentication/basic_auth_test.gotests/integration/flow/authentication/challenge_token_test.gotests/integration/flow/authentication/http_request_executor_test.gotests/integration/flow/authentication/multi_action_input_binding_test.gotests/integration/flow/authentication/prompt_actions_test.gotests/integration/flow/authentication/sensitive_input_cleanup_test.gotests/integration/flow/authentication/verbose_meta_test.gotests/integration/flow/mgt/flow_mgt_api_test.gotests/integration/flow/registration/basic_registration_test.gotests/integration/flow/registration/ou_registration_test.gotests/integration/oauth/authz/acr_id_token_test.gotests/integration/oauth/authz/acr_values_test.gotests/integration/oauth/authz/authz_scope_test.gotests/integration/oauth/authz/authz_test.gotests/integration/oauth/claims/claims_parameter_test.gotests/integration/oauth/par/par_test.gotests/integration/oauth/token/refresh_token_test.gotests/integration/oauth/userinfo/userinfo_test.gotests/integration/resources/declarative_resources/flows/flow-declarative-1.yaml
✅ Files skipped from review due to trivial changes (6)
- backend/internal/flow/executor/utils_test.go
- backend/internal/flow/executor/consent_executor_test.go
- frontend/apps/console/src/features/flows/components/create-flow/SelectFlowTemplate.tsx
- backend/internal/flow/executor/consent_executor.go
- frontend/apps/console/src/features/flows/components/create-flow/tests/SelectFlowTemplate.test.tsx
- frontend/apps/console/src/features/flows/utils/tests/findMatchingFlowForIntegrations.test.ts
🚧 Files skipped from review as they are similar to previous changes (35)
- backend/internal/flow/mgt/service_test.go
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/IndividualMethodsToggleView.tsx
- frontend/apps/console/src/features/applications/utils/tests/resolveAuthFlowId.test.ts
- backend/internal/flow/executor/auth_assert_executor_test.go
- frontend/apps/console/src/features/applications/components/create-application/Preview.tsx
- frontend/apps/console/src/features/flows/models/templates.ts
- backend/internal/flow/executor/utils.go
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/ConfigureSignInOptions.tsx
- backend/cmd/server/bootstrap/flows/apps/console/auth_flow_console.json
- frontend/apps/console/src/features/login-flow/data/executors.json
- frontend/apps/console/src/features/applications/components/create-application/tests/ConfigureDetails.test.tsx
- frontend/apps/console/src/features/applications/contexts/ApplicationCreate/tests/ApplicationCreateProvider.test.tsx
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/tests/ConfigureSignInOptions.test.tsx
- backend/internal/flow/executor/constants.go
- frontend/apps/console/src/components/GatePreview/mocks/buildPreviewMock.ts
- frontend/apps/console/src/features/flows/pages/tests/FlowCreatePage.test.tsx
- frontend/apps/console/src/features/integrations/models/tests/authenticators.test.ts
- backend/cmd/server/bootstrap/flows/registration/registration_flow_basic.json
- frontend/apps/console/src/features/flows/utils/getFlowSupportedIntegrations.ts
- frontend/apps/console/src/features/applications/pages/ApplicationCreatePage.tsx
- frontend/apps/console/src/features/flows/utils/tests/getFlowSupportedIntegrations.test.ts
- backend/cmd/server/bootstrap/flows/authentication/auth_flow_basic.json
- frontend/apps/console/src/features/flows/utils/generateFlowGraph.ts
- backend/internal/flow/executor/init.go
- backend/internal/flow/mgt/inference_test.go
- frontend/apps/console/src/features/flows/utils/findMatchingFlowForIntegrations.ts
- frontend/apps/console/src/components/GatePreview/mocks/tests/buildPreviewMock.test.ts
- frontend/apps/console/src/features/applications/components/create-application/tests/ConfigureSignInOptions.test.tsx
- frontend/apps/console/src/features/login-flow/data/templates.json
- frontend/apps/console/src/features/flows/utils/tests/generateFlowGraph.test.ts
- frontend/apps/console/src/features/login-flow/data/widgets.json
- frontend/apps/console/src/features/flows/data/templates.json
- frontend/apps/console/src/features/applications/components/create-application/tests/Preview.test.tsx
- frontend/apps/console/src/features/applications/components/create-application/configure-signin-options/tests/IndividualMethodsToggleView.test.tsx
- backend/internal/flow/executor/credentials_auth_executor_test.go
| "nextNode": "credentials_auth" | ||
| } |
There was a problem hiding this comment.
Flow contract rename needs migration docs before merge.
🔴 Documentation Required: This PR introduces a user-facing change (e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior) but does not include corresponding documentation updates under docs/. Please update the relevant documentation before merging.
Please document the breaking flow JSON migration (BasicAuthExecutor → CredentialsAuthExecutor) for persisted flows, including upgrade and rollback guidance (e.g., under docs/content/guides/ and release notes/changelog).
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/ ... flag this as a major issue ..."
Also applies to: 180-184
🤖 Prompt for 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.
In
`@backend/cmd/server/bootstrap/flows/apps/console/registration_flow_console.json`
around lines 174 - 175, Update the documentation to include a migration guide
for the flow contract rename from BasicAuthExecutor to CredentialsAuthExecutor:
add a new guide under docs/content/guides describing which persisted flow JSON
fields change (show the mapping from "BasicAuthExecutor" to
"CredentialsAuthExecutor" in flow JSON), provide step-by-step upgrade
instructions for operators to update existing persisted flows (including an
automated script/JSON patch example and verification steps), include rollback
guidance for reverting to the previous contract, and add a brief entry to the
release notes/changelog outlining the breaking change and why it was made;
reference the flow JSON change and the executor class names (BasicAuthExecutor,
CredentialsAuthExecutor, and the flow node key like "credentials_auth") so
readers can locate affected configurations.
| "nextNode": "credentials_auth" | ||
| } |
There was a problem hiding this comment.
Add migration docs for persisted flow contract rename.
🔴 Documentation Required: This PR introduces a user-facing change
(e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior)
but does not include corresponding documentation updates under docs/.
Please update the relevant documentation before merging.
This change modifies persisted/bootstrap authentication flow contracts (basic_auth/BasicAuthExecutor → credentials_auth/CredentialsAuthExecutor). Please document migration steps for existing stored flows and update relevant flow-management/API docs (for example docs/content/apis.mdx and a flow migration guide under docs/content/guides/).
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/ ... flag this as a major issue."
Also applies to: 261-265
🤖 Prompt for 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.
In
`@backend/cmd/server/bootstrap/flows/authentication/auth_flow_disambiguation.json`
around lines 255 - 256, The change renames persisted authentication flow
contracts from basic_auth/BasicAuthExecutor to
credentials_auth/CredentialsAuthExecutor but no documentation or migration
guidance was added; add docs explaining the rename and migration steps: update
API docs (e.g., the APIs overview) to reflect the new contract names and add a
migration guide under docs/content/guides/ that shows how to transform stored
flows (search/replace basic_auth → credentials_auth and BasicAuthExecutor →
CredentialsAuthExecutor), include sample migration scripts or JSON snippets and
any backward-compatibility notes, and reference the affected flow file names
(auth_flow_disambiguation.json and any other flow files) so operators can locate
and update persisted flows.
| nextNode: credentials_auth | ||
| - id: credentials_auth | ||
| type: TASK_EXECUTION | ||
| executor: | ||
| name: BasicAuthExecutor | ||
| name: CredentialsAuthExecutor |
There was a problem hiding this comment.
Missing docs for breaking flow executor wire-format rename.
Line 24 and Line 28 change flow definitions to credentials_auth / CredentialsAuthExecutor, which affects persisted authentication flow JSON/YAML compatibility.
🔴 Documentation Required: This PR introduces a user-facing change
(e.g., new/modified API endpoint, configuration option, authentication flow, or SDK behavior)
but does not include corresponding documentation updates under docs/.
Please update the relevant documentation before merging.
Please add migration guidance (e.g., under docs/content/guides/flows/) that explicitly covers replacing BasicAuthExecutor with CredentialsAuthExecutor in stored flow definitions.
As per coding guidelines, "If ANY of the above are detected and the PR does NOT include corresponding updates under docs/ ... flag this as a major issue."
🤖 Prompt for 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.
In
`@tests/integration/resources/declarative_resources/flows/flow-declarative-1.yaml`
around lines 24 - 28, This change renames the flow executor wire-format from
BasicAuthExecutor to CredentialsAuthExecutor and the node id to
credentials_auth, so add a docs migration under docs/content/guides/flows/
explaining how to update persisted flow JSON/YAML: describe searching for node
entries with id "credentials_auth" or the old "BasicAuthExecutor" executor type
and replacing them with the new "credentials_auth" node id and
"CredentialsAuthExecutor" executor name; include a short example snippet showing
before/after YAML, note backward-incompatibility for stored flows, and provide a
one-line CLI/grep command suggestion to bulk-migrate files; reference the exact
symbols credentials_auth, CredentialsAuthExecutor, and BasicAuthExecutor in the
doc for clarity.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Purpose
The username/password executor and its related API were named Basic Auth, which conflicts with the HTTP Basic Authentication scheme (RFC 7617) and causes confusion. The executor is not limited to basic authentication — it supports authenticating a user against any identifying and credential attributes.
This PR renames the executor from
BasicAuthtoCredentialsAuthacross the entire stack to better reflect its purpose and eliminate the naming ambiguity.🔧 Summary of Breaking Changes
The executor wire format name changes from
"BasicAuthExecutor"to"CredentialsAuthExecutor". This string is stored inside flow definition JSON (both in bootstrap files and persisted flows in the database).💥 Impact
Existing flow definitions persisted in the database that reference
"BasicAuthExecutor"will no longer resolve to a registered executor at runtime, causing those flow steps to fail.🔄 Migration Guide
Existing flows stored in the database must be updated to replace all occurrences of
"BasicAuthExecutor"with"CredentialsAuthExecutor"in the executor node definitions. Example:Approach
Pure rename with no behavioral changes. The following identifiers were updated consistently:
ExecutorNameBasicAuth = "BasicAuthExecutor"ExecutorNameCredentialsAuth = "CredentialsAuthExecutor"basic_auth_executor.gocredentials_auth_executor.gobasicAuthExecutor(Go type)credentialsAuthExecutorAuthenticatorTypes.BASIC_AUTH = 'basic_auth'AuthenticatorTypes.CREDENTIALS_AUTH = 'credentials_auth'TemplateTypes.BasicAuth = 'BASIC_AUTH'TemplateTypes.CredentialsAuth = 'CREDENTIALS_AUTH'"basic_auth""credentials_auth"hasBasicAuth(TS variable)hasCredentialsAuthBackend: Renamed Go type, constructor, constant, executor registration, authn service mapping, and all bootstrap flow JSON templates.
Frontend: Updated the
AuthenticatorTypesconstant, all flow template JSON data, login-flow builder executor/widget definitions, application creation components, flow generation utilities, and the gate preview mock.Tests: All Go and TypeScript test files updated to match the new names. Dead-code normalizations in
findMatchingFlowForIntegrationswere removed as part of cleanup.Related Issues
Checklist
breaking changelabel added.Security checks
Summary by CodeRabbit