Skip to content

fix: add /api/agentic/authorize to BACKEND_ONLY_ROUTES#51161

Closed
MattBro wants to merge 1 commit intomasterfrom
matt/fix-agentic-authorize-post-login-redirect
Closed

fix: add /api/agentic/authorize to BACKEND_ONLY_ROUTES#51161
MattBro wants to merge 1 commit intomasterfrom
matt/fix-agentic-authorize-post-login-redirect

Conversation

@MattBro
Copy link
Copy Markdown
Contributor

@MattBro MattBro commented Mar 16, 2026

Problem

When a user isn't logged into PostHog and Stripe opens the /api/agentic/authorize URL, Django's @login_required decorator redirects to /login?next=/api/agentic/authorize.... After the user logs in, the React SPA router intercepts the next URL and tries to handle it client-side instead of performing a full-page navigation to the Django backend endpoint. This causes the Stripe agentic provisioning OAuth flow to silently fail.

Changes

Added /api/agentic/authorize to the BACKEND_ONLY_ROUTES array in frontend/src/scenes/authentication/loginLogic.ts. This tells the post-login redirect handler to use window.location.href (full-page navigation) instead of the React router for this route, ensuring the request reaches the Django backend.

How did you test this code?

This was authored by an agent. No manual testing was performed. To test manually:

  1. Log out of PostHog
  2. Navigate to /api/agentic/authorize?... (with valid Stripe OAuth params)
  3. Verify you are redirected to /login?next=/api/agentic/authorize...
  4. Log in
  5. Verify the browser performs a full-page navigation to /api/agentic/authorize (Django handles it) instead of the React SPA swallowing the route

Publish to changelog?

No

Docs update

N/A

🤖 LLM context

Co-authored with Claude Code (Opus 4.6).

When a user isn't logged into PostHog and Stripe opens the agentic
authorize URL, Django's @login_required redirects to /login?next=...
After login, the React SPA router intercepts the next URL and handles
it client-side instead of navigating to the Django backend endpoint.
This causes the OAuth flow to silently fail.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@MattBro MattBro added the skip-inkeep-docs Use this label to skip an Inkeep docs PR in posthog.com label Mar 16, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Size Change: +181 B (0%)

Total Size: 109 MB

ℹ️ View Unchanged
Filename Size Change
frontend/dist/368Hedgehogs 5.27 kB 0 B
frontend/dist/abap 14.2 kB 0 B
frontend/dist/Action 20.2 kB 0 B
frontend/dist/Actions 1.03 kB 0 B
frontend/dist/AdvancedActivityLogsScene 33.9 kB 0 B
frontend/dist/apex 3.96 kB 0 B
frontend/dist/ApprovalDetail 16.2 kB 0 B
frontend/dist/array.full.es5.js 330 kB 0 B
frontend/dist/array.full.js 428 kB 0 B
frontend/dist/array.js 183 kB 0 B
frontend/dist/AsyncMigrations 13.2 kB 0 B
frontend/dist/AuthorizationStatus 717 B 0 B
frontend/dist/azcli 852 B 0 B
frontend/dist/bat 1.85 kB 0 B
frontend/dist/BatchExportScene 50.1 kB 0 B
frontend/dist/bicep 2.56 kB 0 B
frontend/dist/Billing 493 B 0 B
frontend/dist/BillingSection 20.7 kB 0 B
frontend/dist/BoxPlot 5.01 kB 0 B
frontend/dist/browserAll-0QZMN1W2 37.4 kB 0 B
frontend/dist/ButtonPrimitives 562 B 0 B
frontend/dist/CalendarHeatMap 4.82 kB 0 B
frontend/dist/cameligo 2.2 kB 0 B
frontend/dist/changeRequestsLogic 544 B 0 B
frontend/dist/CLIAuthorize 11.3 kB 0 B
frontend/dist/CLILive 3.99 kB 0 B
frontend/dist/clojure 9.65 kB 0 B
frontend/dist/coffee 3.6 kB 0 B
frontend/dist/Cohort 23 kB 0 B
frontend/dist/CohortCalculationHistory 6.24 kB 0 B
frontend/dist/Cohorts 9.41 kB 0 B
frontend/dist/ConfirmOrganization 4.5 kB 0 B
frontend/dist/conversations.js 64.5 kB 0 B
frontend/dist/Coupons 731 B 0 B
frontend/dist/cpp 5.31 kB 0 B
frontend/dist/Create 666 B 0 B
frontend/dist/crisp-chat-integration.js 2.11 kB 0 B
frontend/dist/csharp 4.53 kB 0 B
frontend/dist/csp 1.43 kB 0 B
frontend/dist/css 4.51 kB 0 B
frontend/dist/cssMode 4.18 kB 0 B
frontend/dist/CustomCssScene 3.56 kB 0 B
frontend/dist/CustomerAnalyticsConfigurationScene 2 kB 0 B
frontend/dist/CustomerAnalyticsScene 26.2 kB 0 B
frontend/dist/CustomerJourneyBuilderScene 1.56 kB 0 B
frontend/dist/customizations.full.js 18.7 kB 0 B
frontend/dist/CyclotronJobInputAssignee 1.33 kB 0 B
frontend/dist/CyclotronJobInputTicketTags 717 B 0 B
frontend/dist/cypher 3.4 kB 0 B
frontend/dist/dart 4.26 kB 0 B
frontend/dist/Dashboard 936 B 0 B
frontend/dist/Dashboards 14.7 kB 0 B
frontend/dist/DataManagementScene 646 B 0 B
frontend/dist/DataPipelinesNewScene 2.29 kB 0 B
frontend/dist/DataWarehouseScene 1.1 kB +56 B (+5.38%) 🔍
frontend/dist/DataWarehouseSourceScene 634 B 0 B
frontend/dist/Deactivated 1.14 kB 0 B
frontend/dist/dead-clicks-autocapture.js 13.1 kB 0 B
frontend/dist/DeadLetterQueue 5.41 kB 0 B
frontend/dist/DebugScene 18.5 kB 0 B
frontend/dist/decompressionWorker 2.85 kB 0 B
frontend/dist/decompressionWorker.js 2.85 kB 0 B
frontend/dist/DefinitionEdit 7.13 kB 0 B
frontend/dist/DefinitionView 22.3 kB 0 B
frontend/dist/DestinationsScene 2.69 kB 0 B
frontend/dist/dist 575 B 0 B
frontend/dist/dockerfile 1.88 kB 0 B
frontend/dist/EarlyAccessFeature 685 B 0 B
frontend/dist/EarlyAccessFeatures 2.85 kB 0 B
frontend/dist/ecl 5.35 kB 0 B
frontend/dist/EditorScene 805 B 0 B
frontend/dist/elixir 10.3 kB 0 B
frontend/dist/EmailMFAVerify 2.99 kB 0 B
frontend/dist/EndpointScene 30.1 kB 0 B
frontend/dist/EndpointsScene 21 kB 0 B
frontend/dist/ErrorTrackingConfigurationScene 2.2 kB 0 B
frontend/dist/ErrorTrackingIssueFingerprintsScene 6.99 kB 0 B
frontend/dist/ErrorTrackingIssueScene 85.9 kB 0 B
frontend/dist/ErrorTrackingScene 13 kB 0 B
frontend/dist/EvaluationTemplates 575 B 0 B
frontend/dist/EventsScene 2.45 kB 0 B
frontend/dist/exception-autocapture.js 11.9 kB 0 B
frontend/dist/Experiment 258 kB 0 B
frontend/dist/Experiments 17 kB 0 B
frontend/dist/exporter 20.9 MB +25 B (0%)
frontend/dist/exporter.js 20.9 MB +25 B (0%)
frontend/dist/ExportsScene 3.88 kB 0 B
frontend/dist/FeatureFlag 101 kB 0 B
frontend/dist/FeatureFlags 572 B 0 B
frontend/dist/FeatureFlagTemplatesScene 7.05 kB 0 B
frontend/dist/FlappyHog 5.8 kB 0 B
frontend/dist/flow9 1.81 kB 0 B
frontend/dist/freemarker2 16.7 kB 0 B
frontend/dist/fsharp 2.99 kB 0 B
frontend/dist/go 2.66 kB 0 B
frontend/dist/graphql 2.27 kB 0 B
frontend/dist/Group 14.3 kB 0 B
frontend/dist/Groups 3.94 kB 0 B
frontend/dist/GroupsNew 7.36 kB 0 B
frontend/dist/handlebars 7.37 kB 0 B
frontend/dist/hcl 3.6 kB 0 B
frontend/dist/HealthScene 11 kB 0 B
frontend/dist/HeatmapNewScene 4.18 kB 0 B
frontend/dist/HeatmapRecordingScene 3.94 kB 0 B
frontend/dist/HeatmapScene 6.05 kB 0 B
frontend/dist/HeatmapsScene 3.89 kB 0 B
frontend/dist/HogFunctionScene 58.8 kB 0 B
frontend/dist/HogRepl 7.38 kB 0 B
frontend/dist/html 5.6 kB 0 B
frontend/dist/htmlMode 4.64 kB 0 B
frontend/dist/image-blob-reduce.esm 49.4 kB 0 B
frontend/dist/InboxScene 54.6 kB 0 B
frontend/dist/index 255 kB 0 B
frontend/dist/index.js 255 kB 0 B
frontend/dist/ini 1.11 kB 0 B
frontend/dist/InsightOptions 4.81 kB 0 B
frontend/dist/InsightScene 26.7 kB 0 B
frontend/dist/IntegrationsRedirect 744 B 0 B
frontend/dist/intercom-integration.js 2.16 kB 0 B
frontend/dist/InviteSignup 13.3 kB 0 B
frontend/dist/java 3.23 kB 0 B
frontend/dist/javascript 996 B 0 B
frontend/dist/jsonMode 13.9 kB 0 B
frontend/dist/julia 7.24 kB 0 B
frontend/dist/kotlin 3.41 kB 0 B
frontend/dist/lazy 153 kB 0 B
frontend/dist/LegacyPluginScene 21.1 kB 0 B
frontend/dist/LemonDialog 482 B 0 B
frontend/dist/less 3.9 kB 0 B
frontend/dist/lexon 2.45 kB 0 B
frontend/dist/lib 2.23 kB 0 B
frontend/dist/Link 468 B 0 B
frontend/dist/LinkScene 24.9 kB 0 B
frontend/dist/LinksScene 4.21 kB 0 B
frontend/dist/liquid 4.54 kB 0 B
frontend/dist/LiveDebugger 19 kB 0 B
frontend/dist/LiveEventsTable 4.46 kB 0 B
frontend/dist/LLMAnalyticsClusterScene 15.7 kB 0 B
frontend/dist/LLMAnalyticsClustersScene 42.5 kB 0 B
frontend/dist/LLMAnalyticsDatasetScene 19.7 kB 0 B
frontend/dist/LLMAnalyticsDatasetsScene 3.29 kB 0 B
frontend/dist/LLMAnalyticsEvaluation 40.5 kB 0 B
frontend/dist/LLMAnalyticsEvaluationsScene 29.3 kB 0 B
frontend/dist/LLMAnalyticsPlaygroundScene 36.4 kB 0 B
frontend/dist/LLMAnalyticsScene 71.6 kB 0 B
frontend/dist/LLMAnalyticsSessionScene 13.4 kB 0 B
frontend/dist/LLMAnalyticsTraceScene 97.9 kB 0 B
frontend/dist/LLMAnalyticsUsers 526 B 0 B
frontend/dist/LLMASessionFeedbackDisplay 4.85 kB 0 B
frontend/dist/LLMPromptScene 16.9 kB 0 B
frontend/dist/LLMPromptsScene 3.54 kB 0 B
frontend/dist/Login 8.37 kB 0 B
frontend/dist/Login2FA 4.22 kB 0 B
frontend/dist/logs.js 39 kB 0 B
frontend/dist/LogsScene 13.4 kB 0 B
frontend/dist/lua 2.13 kB 0 B
frontend/dist/m3 2.82 kB 0 B
frontend/dist/ManagedMigration 14 kB 0 B
frontend/dist/markdown 3.79 kB 0 B
frontend/dist/MarketingAnalyticsScene 23.5 kB 0 B
frontend/dist/MaterializedColumns 10.2 kB 0 B
frontend/dist/Max 767 B 0 B
frontend/dist/mdx 5.38 kB 0 B
frontend/dist/MessageTemplate 16.2 kB 0 B
frontend/dist/MetricsScene 844 B 0 B
frontend/dist/mips 2.59 kB 0 B
frontend/dist/ModelsScene 13.7 kB 0 B
frontend/dist/MonacoDiffEditor 403 B 0 B
frontend/dist/MoveToPostHogCloud 4.46 kB 0 B
frontend/dist/msdax 4.92 kB 0 B
frontend/dist/mysql 11.3 kB 0 B
frontend/dist/NavTabChat 4.43 kB 0 B
frontend/dist/NewSourceWizard 724 B 0 B
frontend/dist/NewTabScene 647 B 0 B
frontend/dist/NodeDetailScene 15.5 kB 0 B
frontend/dist/NotebookCanvasScene 2.9 kB 0 B
frontend/dist/NotebookPanel 4.93 kB 0 B
frontend/dist/NotebookScene 7.92 kB 0 B
frontend/dist/NotebooksScene 7.57 kB 0 B
frontend/dist/OAuthAuthorize 9.68 kB 0 B
frontend/dist/objective-c 2.42 kB 0 B
frontend/dist/Onboarding 655 kB 0 B
frontend/dist/OnboardingCouponRedemption 1.2 kB 0 B
frontend/dist/pascal 3 kB 0 B
frontend/dist/pascaligo 2.01 kB 0 B
frontend/dist/passkeyLogic 484 B 0 B
frontend/dist/PasswordReset 4.33 kB 0 B
frontend/dist/PasswordResetComplete 2.95 kB 0 B
frontend/dist/perl 8.26 kB 0 B
frontend/dist/PersonScene 15.8 kB 0 B
frontend/dist/PersonsScene 4.75 kB 0 B
frontend/dist/pgsql 13.5 kB 0 B
frontend/dist/php 8.03 kB 0 B
frontend/dist/PipelineStatusScene 6.24 kB 0 B
frontend/dist/pla 1.69 kB 0 B
frontend/dist/posthog 253 kB 0 B
frontend/dist/postiats 7.86 kB 0 B
frontend/dist/powerquery 17 kB 0 B
frontend/dist/powershell 3.28 kB 0 B
frontend/dist/PreflightCheck 5.54 kB 0 B
frontend/dist/product-tours.js 118 kB 0 B
frontend/dist/ProductTour 274 kB 0 B
frontend/dist/ProductTours 4.72 kB 0 B
frontend/dist/ProjectHomepage 19.1 kB 0 B
frontend/dist/protobuf 9.05 kB 0 B
frontend/dist/pug 4.83 kB 0 B
frontend/dist/python 4.79 kB 0 B
frontend/dist/qsharp 3.2 kB 0 B
frontend/dist/r 3.14 kB 0 B
frontend/dist/razor 9.36 kB 0 B
frontend/dist/recorder-v2.js 113 kB 0 B
frontend/dist/recorder.js 113 kB 0 B
frontend/dist/redis 3.56 kB 0 B
frontend/dist/redshift 11.8 kB 0 B
frontend/dist/RegionMap 134 kB 0 B
frontend/dist/render-query 20.7 MB +25 B (0%)
frontend/dist/render-query.js 20.7 MB +25 B (0%)
frontend/dist/ResourceTransfer 9.16 kB 0 B
frontend/dist/restructuredtext 3.91 kB 0 B
frontend/dist/RevenueAnalyticsScene 25.6 kB 0 B
frontend/dist/ruby 8.51 kB 0 B
frontend/dist/rust 4.17 kB 0 B
frontend/dist/SavedInsights 664 B 0 B
frontend/dist/sb 1.83 kB 0 B
frontend/dist/scala 7.33 kB 0 B
frontend/dist/scheme 1.77 kB 0 B
frontend/dist/scss 6.41 kB 0 B
frontend/dist/SdkDoctorScene 4.61 kB 0 B
frontend/dist/SessionAttributionExplorerScene 6.62 kB 0 B
frontend/dist/SessionGroupSummariesTable 4.64 kB 0 B
frontend/dist/SessionGroupSummaryScene 17.1 kB 0 B
frontend/dist/SessionProfileScene 15.9 kB 0 B
frontend/dist/SessionRecordingDetail 1.74 kB 0 B
frontend/dist/SessionRecordingFilePlaybackScene 4.48 kB 0 B
frontend/dist/SessionRecordings 742 B 0 B
frontend/dist/SessionRecordingsKiosk 8.87 kB 0 B
frontend/dist/SessionRecordingsPlaylistScene 4.08 kB 0 B
frontend/dist/SessionRecordingsSettingsScene 1.91 kB 0 B
frontend/dist/SessionsScene 3.88 kB 0 B
frontend/dist/SettingsScene 3 kB 0 B
frontend/dist/SharedMetric 15.6 kB 0 B
frontend/dist/SharedMetrics 515 B 0 B
frontend/dist/shell 3.08 kB 0 B
frontend/dist/SignupContainer 22.8 kB 0 B
frontend/dist/Site 1.2 kB 0 B
frontend/dist/solidity 18.6 kB 0 B
frontend/dist/sophia 2.77 kB 0 B
frontend/dist/SourcesScene 5.98 kB 0 B
frontend/dist/sourceWizardLogic 662 B 0 B
frontend/dist/sparql 2.56 kB 0 B
frontend/dist/sql 10.3 kB 0 B
frontend/dist/SqlVariableEditScene 7.26 kB 0 B
frontend/dist/st 7.41 kB 0 B
frontend/dist/StartupProgram 21.2 kB 0 B
frontend/dist/SupportSettingsScene 27.7 kB 0 B
frontend/dist/SupportTicketScene 22.1 kB 0 B
frontend/dist/SupportTicketsScene 8.29 kB 0 B
frontend/dist/Survey 746 B 0 B
frontend/dist/SurveyFormBuilder 1.55 kB 0 B
frontend/dist/Surveys 18.2 kB 0 B
frontend/dist/surveys.js 90.2 kB 0 B
frontend/dist/SurveyWizard 56.2 kB 0 B
frontend/dist/swift 5.28 kB 0 B
frontend/dist/SystemStatus 16.9 kB 0 B
frontend/dist/systemverilog 7.62 kB 0 B
frontend/dist/TaskDetailScene 19 kB 0 B
frontend/dist/TaskTracker 16.4 kB 0 B
frontend/dist/tcl 3.57 kB 0 B
frontend/dist/toolbar 9.58 MB 0 B
frontend/dist/toolbar.js 9.58 MB +25 B (0%)
frontend/dist/ToolbarLaunch 2.53 kB 0 B
frontend/dist/tracing-headers.js 1.93 kB 0 B
frontend/dist/TracingScene 14.4 kB 0 B
frontend/dist/TransformationsScene 1.93 kB 0 B
frontend/dist/tsMode 24 kB 0 B
frontend/dist/twig 5.98 kB 0 B
frontend/dist/TwoFactorReset 4 kB 0 B
frontend/dist/typescript 240 B 0 B
frontend/dist/typespec 2.83 kB 0 B
frontend/dist/Unsubscribe 1.63 kB 0 B
frontend/dist/UserInterview 4.55 kB 0 B
frontend/dist/UserInterviews 2.03 kB 0 B
frontend/dist/vb 5.8 kB 0 B
frontend/dist/VercelConnect 4.03 kB 0 B
frontend/dist/VercelLinkError 1.92 kB 0 B
frontend/dist/VerifyEmail 4.49 kB 0 B
frontend/dist/vimMode 211 kB 0 B
frontend/dist/VisualReviewRunScene 18.5 kB 0 B
frontend/dist/VisualReviewRunsScene 6.01 kB 0 B
frontend/dist/VisualReviewSettingsScene 9.12 kB 0 B
frontend/dist/web-vitals.js 6.6 kB 0 B
frontend/dist/WebAnalyticsScene 5.72 kB 0 B
frontend/dist/WebGLRenderer-DYjOwNoG 60.3 kB 0 B
frontend/dist/WebGPURenderer-B_wkl_Ja 36.3 kB 0 B
frontend/dist/WebScriptsScene 2.55 kB 0 B
frontend/dist/webworkerAll-puPV1rBA 330 B 0 B
frontend/dist/wgsl 7.35 kB 0 B
frontend/dist/Wizard 4.47 kB 0 B
frontend/dist/WorkflowScene 101 kB 0 B
frontend/dist/WorkflowsScene 47.1 kB 0 B
frontend/dist/WorldMap 4.75 kB 0 B
frontend/dist/xml 2.98 kB 0 B
frontend/dist/yaml 4.61 kB 0 B

compressed-size-action

@MattBro
Copy link
Copy Markdown
Contributor Author

MattBro commented Mar 16, 2026

Closing - tested this scenario and the login redirect already works correctly without this change.

@MattBro MattBro closed this Mar 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-inkeep-docs Use this label to skip an Inkeep docs PR in posthog.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant