Chapter 2 Β· Understand
Architecture & Request Lifecycle
Follow a single question from a user's lips all the way to Jira and back. Once you can trace this path, every later chapter is just a close-up of one box in the diagram.
π― What you'll be able to do
- Name each component in the end-to-end architecture
- Trace a request through the connector, APIM, the server, and Jira
- Explain where the user's token is obtained, forwarded, and discarded
- Identify which component enforces which protection
High-level architecture
Six moving parts, plus three supporting services (OAuth, Key Vault, Application Insights). Solid arrows are the request path; dotted arrows are supporting relationships.
Request lifecycle
Here is the same flow as a step-by-step sequence. Read it top to bottom: each numbered line is one hop.
Where identity flows
The single most important thread to follow is the user's token. It is created by Atlassian, held by the connector, borrowed by the server for one request, and used to call Jira as the user.
Who does what
| Component | Main responsibility | Key protection |
|---|---|---|
| Copilot Studio | Hosts the agent and chooses tools | β |
| Power Platform connector | Runs OAuth, holds and refreshes tokens | Tokens live here, not in the server |
| Azure API Management | Public gateway and routing | CORS, IP filtering, rate limits, gateway secret |
| FastMCP server | Runs tools, calls Jira | Re-checks gateway secret; request-scoped token |
| Jira Cloud | Owns the data | Enforces the user's permissions |
| Key Vault | Stores the gateway secret | Secret never in code |
| Application Insights | Logs and traces | Tokens and secrets redacted |
β Concept check
A request reaches the app host directly (not through APIM) and is rejected with a 403. Which protection caught it, and where is the secret it relied on stored?
π Chapter summary
- User β Copilot Studio β connector β APIM β FastMCP server β Jira, and back.
- The connector handles OAuth and holds tokens; the server only borrows the token for the duration of one request.
- APIM guards the edge; the app re-checks the gateway secret; Jira enforces user permissions.