Skip to main content

Section 3 Review

You've finished Auth and Access Control, the third section of API Testing. This page is a dedicated recap — bookmark it as a fast reference, separate from the modules themselves.

Section Summary

API Authentication — proving identity: API keys, bearer tokens, JWTs, OAuth 2.0 concepts, and the full failure-scenario checklist (missing, malformed, expired, tampered, wrong-audience tokens) every protected endpoint should be tested against ✔ Authorization and Access Control — what an authenticated identity can actually do: RBAC, resource ownership, horizontal and vertical privilege escalation, and IDOR ✔ Rate Limiting, Throttling, and Session Management — an API's defenses against abuse and its handling of session lifecycle: 429 responses, burst vs. sustained limits, and server-side token revocation

How they build on each other: Module 7 established who's calling. Module 8 established what that caller can actually do, once identity is known. Module 9 closed the section by covering what happens when a caller — legitimate or not — pushes past reasonable limits, and how a session's lifecycle should genuinely end when it's supposed to. Together, these three modules cover the full gate an API puts between a request and the data or action it's asking for.

Auth Testing Focus Matrix

A quick reference for what each layer is actually checking:

LayerQuestionFailure StatusCommon Missed Defect
AuthenticationWho are you?401Expiration enforced inconsistently across endpoints
Authorization (role)Is this role allowed here at all?403A role can do something it explicitly shouldn't be able to
Authorization (ownership)Do you own this specific resource?403IDOR — any ID accepted without an ownership check
Rate LimitingAre you exceeding your allowed usage?429Limit scoped too narrowly to actually stop the realistic abuse pattern
Session ManagementHas your session actually ended?401 (on reuse)Client-side logout without server-side token revocation

Section 3 Knowledge Check

Five realistic scenarios. For each, identify which layer applies and what specifically to test. No answers are provided here. Solutions: Section 3 Solutions.

Scenario 1: AtlasBank's GET /api/v1/accounts/{accountId}/statements correctly rejects an expired token when tested directly against this endpoint — but the tester hasn't yet tested any other endpoint.

Scenario 2: A customer, authenticated and viewing their own AtlasBank account, changes the accountId in the URL of a GET /api/v1/accounts/{accountId}/transactions request to an account number they found in a previous test's data, belonging to a different customer.

Scenario 3: AtlasBank's support-agent role is documented as read-only for customer accounts, but a tester has only confirmed that reading account data works correctly for that role.

Scenario 4: AtlasBank's login endpoint correctly returns 429 after 5 failed attempts against the same username within a minute.

Scenario 5: A customer logs out of AtlasBank's mobile app. The app clears its locally stored token.

Continue to Section 4

Integration and Resilience, starting with Testing Service Integrations — where this section's identity, permission, and abuse-prevention literacy extends into testing how AtlasBank's APIs behave when the systems they depend on are slow, unavailable, or fail mid-request.