Authorization code flow with PKCE (public clients)
Use this flow when: Your application cannot securely store secrets (SPAs, mobile apps).
Note: This flow typically does not provide refresh tokens for security reasons.
Generate PKCE parameters
Before starting authorization, generate:
Code Verifier: Random string (43-128 characters)
Code Challenge: SHA256 hash of code_verifier, Base64url encoded (no padding)
Example (JavaScript):
javascript// Generate code verifierconst codeVerifier = generateRandomString(128);// Generate code challengeconst codeChallenge = base64URLEncode(sha256(codeVerifier));Redirect user for authorization
Redirect to the authorization endpoint with PKCE parameters:
GET https://www.make.com/oauth/v2/authorizeRequired parameters:
client_id: Your Client IDresponse_type: Set tocoderedirect_uri: Pre-registered callback URLscope: Requested permissionsstate: Random string for CSRF protectioncode_challenge: Generated in Step 1code_challenge_method: Set toS256
Exchange code for tokens
Make a POST request (can be from frontend or backend):
POST https://www.make.com/oauth/v2/tokenRequired Parameters:
client_id: Your Client IDgrant_type: Set toauthorization_codecode: Authorization code from Step 3code_verifier: Original code verifier from Step 1
Response:
json{ "access_token": "eyJ...", "id_token": "eyJ...", "token_type": "Bearer", "expires_in": 3600}Last updated

