App registration
Client, redirect URI, scopes, app metadata.
Design-time trustThis interactive model maps OAuth 2.0 authorization bugs to the lifecycle stage where the control should live. When the flow is used for login, the artifact explicitly calls out OpenID Connect (OIDC) concepts such as ID tokens, nonce, issuer, audience, and subject.
Arrows are generated from the stage-to-stage edge list, so each arrow connects the correct block in the lifecycle order.
Client, redirect URI, scopes, app metadata.
Design-time trustLogin, connect account, or authorize app.
Flow bindingresponse_type, client_id, redirect_uri, scope, state, PKCE.
High riskUser approves app and permissions.
Forced consentAuthorization code returns to client.
Top failure pointURL, referrer, scripts, images, postMessage.
LeakageCode exchanged for access/refresh tokens.
Single-use codeOIDC login maps identity to local account.
ATO riskUse token for resource calls and scopes.
Scope enforcementLong-lived sessions and token rotation.
Lifecycle riskThese buckets are used for remediation planning: if the same component owns the control, the issue belongs in the same fix family.
Click a step to see the API request/response shape and the exact fields that matter for security review. OAuth 2.0 authorizes API access; OIDC adds authentication and ID tokens when scope includes openid.
Client sends browser to authorization endpoint.
/authorizeAuthorization server logs in user and asks consent.
User + ASBrowser returns code and state to redirect_uri.
/callbackPublic clients use PKCE; confidential clients also authenticate.
/tokenResource server checks bearer token and scopes.
Bearer tokenClient rotates or revokes long-lived access.
Lifecycle