An enterprise organization is deploying a native mobile application that connects to cloud-hosted REST APIs. The mobile client runs in an untrusted environment where embedded client secrets cannot be kept confidential. Which of the following identity and access management architecture components should the security architect implement to securely authorize the mobile application while mitigating authorization code interception attacks?
- OAuth 2.0 Authorization Code Grant with Proof Key for Code Exchange (PKCE)Answer
- BOAuth 2.0 Implicit Grant with hardcoded API keys for client identification
- CStatic API key authentication combined with internal IP address whitelisting
- DHTTP Basic Authentication wrapped inside a Role-Based Access Control (RBAC) policy
Answer
OAuth 2.0 Authorization Code Grant with Proof Key for Code Exchange (PKCE)
OAuth 2.0 Authorization Code Grant with PKCE is specifically designed to secure public clients (such as mobile apps and single-page apps) that cannot safely maintain a confidential client secret. By creating a unique code verifier and transformed code challenge for each request, the authorization server verifies that the entity redeeming the code is the exact client instance that requested it.
Step-by-Step Solution
Key Concept
Public Client Token Exchange and PKCE Architecture
Estimated Time:1m 30s