NewEvery agent tool call now routes through the governed MCP gateway — policy check, audit log, then dispatch.Read the changelogarrow_forward
XOOZLYAI Orchestrator
routeHow it workssmart_toyAgent fleetshieldGovernance & trustsellPricingmenu_bookDocsarticleBloghistoryChangelog
Log inStart free
grid_viewProductsrouteHow it workssmart_toyAgent fleetshieldGovernance & trustsellPricingmenu_bookDocsarticleBloghistoryChangelogHelp centreLog in
Start free
  1. XOOZLY
  2. chevron_rightDocumentation
Loading the knowledge base…
XOOZLYAI Orchestrator

Ready to orchestrate your AI fleet with total confidence?

Start a project, set a cost cap, and watch the loop run with every tool call policy-checked and logged before it leaves the platform.

Start freearrow_forwardSee what shipped
  • check_circleNo credit card required
  • check_circleYour keys, your model spend
  • check_circleEvery tool call audited

Platform

  • All productsarrow_forward
  • Orchestration looparrow_forward
  • Agent fleetarrow_forward
  • Governed control planearrow_forward
  • Pricingarrow_forward

Trust & legal

  • Trust centrearrow_forward
  • Security & compliancearrow_forward
  • AI use policyarrow_forward
  • Report a vulnerabilityarrow_forward
  • Data subject requestsarrow_forward

Resources

  • Documentation & guidesarrow_forward
  • Engineering & research blogarrow_forward
  • Changelogarrow_forward
  • Uptime & reliabilityarrow_forward

Browse by domain

  • Strategy & Researcharrow_forward
  • Developmentarrow_forward
  • QAarrow_forward
  • Governance & Orchestrationarrow_forward
  • All 10 domainsarrow_forward
XOOZLY
© 2026 XOOZLY · 61 agents · 10 domains · 8 SDLC stationsAI use policyarrow_forwardLog inarrow_forward99.9% uptime SLAarrow_forward
  1. XOOZLY
  2. chevron_rightDocumentation
  3. chevron_rightGuide
Loading this guide…
  1. XOOZLY
  2. chevron_rightDocumentation
  3. chevron_rightOAuth callback flows for third-party developer tools
arrow_backBack to the knowledge base
schedule2 min read·verifiedChecked against the code on 25 October 2026
MCP protocols & integrationsoauth-callback-flowscodeapi-server/domains/identity_access/service.py

Developer tooling

OAuth callback flows for third-party developer tools

An OAuth round trip fails in a handful of specific places, and almost all of them are visible in what the provider sent back. The debugger shows the redirect URI it actually received, the state and PKCE values, and the error it returned.

open_in_newOpen OAuth callback debugger in the consolearrow_forward
01

What to look at first

An authorization round trip fails in a small number of specific places, and nearly all of them are visible in what the provider sent back rather than in your own logs.

  • The redirect URI the provider received, character for character — a trailing slash or a different host is the most common cause.
  • The state value, which must match the one that started the flow; a mismatch is a refusal, not a warning.
  • The PKCE verifier and challenge pair.
  • The provider's own error code and description, which usually names the real problem directly.
infoWhich providers are wiredGoogle is the one identity provider wired end to end today. Other providers raise a specific “not configured” error rather than failing in a way that looks like a credential problem — if you see that error, the provider has not been set up rather than mis-set-up.
02

The round trip, in order

  1. loginStartXOOZLY sends the user to the provider with a redirect URI, a state value and a PKCE challenge.
  2. verified_userThe provider authenticatesWhatever happens here is the provider's own screen; XOOZLY sees nothing until the user comes back.
  3. call_receivedCallbackThe provider returns to the redirect URI with a code, the state it was given, and — if something went wrong — an error code instead.
  4. swap_horizExchangeThe code plus the PKCE verifier are exchanged for tokens. A mismatched state or verifier is refused here, not warned about.
03

The failures worth checking first

  • The redirect URI does not match what the provider has registered, character for character — a trailing slash or a different host is the most common cause by a wide margin.
  • The state value does not match the one that started the flow, which is a refusal rather than a warning.
  • The transaction has already been completed; it is deleted atomically on completion, so a replayed callback finds nothing.
  • The provider itself returned an error, in which case its own description usually names the real problem directly.
04

Which providers are actually wired

infoGoogle is the one wired end to endOther providers raise a specific “not configured” error rather than failing in a way that looks like a credential problem. Seeing that error means the provider has not been set up — not that it was set up wrongly.

boltPut it into practice

Run a fleet with these guardrails on from day one.

Hard cost caps, one audited gateway in front of every tool call, and versioned rule files — the defaults, not an enterprise add-on.

Start freearrow_forward

On this page

4 sections
  1. 1. What to look at firstchevron_right
  2. 2. The round trip, in orderchevron_right
  3. 3. The failures worth checking firstchevron_right
  4. 4. Which providers are actually wiredchevron_right
feedbackSomething missing?

Related guides

  • articleThe MCP gateway: policy check, audit log, then dispatchMCP gateway policy editor
  • articleImporting and exporting MCP connector configurationsConnector config export & import
  • articleWebhook signature verification and retry handlingWebhooks