Skip to content

Commit 000ffac

Browse files
docs: add access and ai gateway sequence diagrams
1 parent 2152ce2 commit 000ffac

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

TECHNICAL.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,48 @@ stateDiagram-v2
2727
Worker --> [*] : Tool result to MCP client
2828
```
2929

30+
### Access + OAuth Flow
31+
32+
```mermaid
33+
sequenceDiagram
34+
participant C as MCP Client
35+
participant Access as Cloudflare Access
36+
participant W as Worker
37+
participant O as OAuth Provider
38+
participant MS as Microsoft Entra
39+
40+
C->>Access: 1. Request /sse
41+
Access-->>C: 2. Enforce SSO / MFA
42+
C->>Access: 3. Present Access session
43+
Access->>W: 4. Forward request + CF-Access headers
44+
W->>O: 5. /authorize (approval + state)
45+
O-->>C: 6. Approval dialog (first visit)
46+
C->>O: 7. Approve + redirect
47+
O->>MS: 8. Authorize user
48+
MS-->>O: 9. Authorization code
49+
O->>MS: 10. Token exchange
50+
MS-->>O: 11. Access & refresh tokens
51+
O->>W: 12. Persist tokens in props
52+
W-->>C: 13. OAuth access token for MCP session
53+
```
54+
55+
### AI Gateway Egress
56+
57+
```mermaid
58+
sequenceDiagram
59+
participant DO as Durable Object
60+
participant W as Worker
61+
participant G as AI Gateway
62+
participant Graph as Microsoft Graph
63+
64+
DO->>W: 1. Tool call + Microsoft tokens
65+
W->>G: 2. env.AI.run(dynamic route, metadata)
66+
G->>Graph: 3. Forward request with policy controls
67+
Graph-->>G: 4. API response
68+
G-->>W: 5. Response + `aiGatewayLogId`
69+
W->>DO: 6. Tool result (logs metadata + log ID)
70+
```
71+
3072
1. **Cloudflare Access** acts as checkpoint #1 (perimeter). Requests without a valid Access token never
3173
reach the Worker. Identity, device posture, and service token claims can be surfaced through headers
3274
(`CF-Access-Authenticated-User-Email`, `CF-Access-Jwt-Assertion`).

0 commit comments

Comments
 (0)